Thanks for the tip. There are few changes by kdgb patch (relating to this problem) In kernel/ksyms.c file EXPORT_SYMBOL(schedule); has been changed to EXPORT_SYMBOL(do_schedule); In kernel/sched.c file asmlinkage void schedule(void) has been changed to asmlinkage void do_schedule(void) and do_schedule() is called after updating "current->thread.kgdbregs" from functions asmlinkage void user_schedule(void) asmlinkage void kern_do_schedule(struct pt_regs regs) The functionality of schedule() & do_schedule() is exactly same. Thanks for help. Usman --- Hilik Stein <hiliks@wanwall.com> wrote: > do_schedule is a function from kgdb's source code. it hooks instead of the > regular schedule() function and calls it later on. > it could be that the kgdb patch remove schedule() from the export list to > avoid someone to bypass their hook > Hilik > > -----Original Message----- > From: kernelnewbies-bounce@nl.linux.org > [mailto:kernelnewbies-bounce@nl.linux.org]On Behalf Of Pichai Raghavan > Sent: Sunday, January 06, 2002 11:16 AM > To: kernelnewbies@nl.linux.org > Cc: uansari@yahoo.com > Subject: Re: Unresolved symbol > > > > Looks to me that the kernel that u have used is not exporting the schedule > function as it does not appear in /proc/ksyms. Hence when u are trying to > load a module insmod gives a problem. > > 2 alternatives to ur solution: > (i) Recompile kernel after adding the symbol schedule in file kernel/ksyms.c > (ii) Do not call schedule from module. What is this function do_schedule; I > do not see this function in my source code? Can u check up with the linux > kernel source and check if this is an equivalent function. > > Regards > Raghav > > > > Usman's original mail: > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > I am compiling kernel module with a command line > > cc -D__KERNEL__ -DMODULE -Wall -O2 -g -I. -I/usr/src/linux/include -c -o > file1.o file1.c > ld -r file1.o file 2.o file3.o modbinary.o > > Module loads and executes fine. After applying the serial kdb patch > (patch applied nicely) and recompiling the kernel, I was getting lot of > unresolved symbols, which I understood was due to MODVERSION bug. I have > over > come the problem. However now I am getting only one unresolved symbol > > [root@karachi]# insmod modbinary.o > modbinary.o: unresolved symbol schedule > > when I do, I get > > [root@karachi /root]# cat /proc/ksyms | grep schedule > c0122900 schedule_task_R2d6c3d04 > c0122b20 flush_scheduled_tasks_R7c3242b4 > c01150f0 do_schedule_R26171012 > c0109318 kern_schedule_Rb32aaa1b > c0115030 schedule_timeout_R17d59d01 > c0203540 tcp_tw_deschedule_Rae427462 > > I donot see schedule() function in the list above, even though this is from > schd.c file. What can I do to resolve this problem. > > Usman > > __________________________________________________ > Do You Yahoo!? > Send FREE video emails in Yahoo! Mail! > http://promo.yahoo.com/videomail/ > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > IRC Channel: irc.openprojects.net / #kernelnewbies > Web Page: http://www.kernelnewbies.org/ > > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > IRC Channel: irc.openprojects.net / #kernelnewbies > Web Page: http://www.kernelnewbies.org/ > ===== Usman S. Ansari UNIX OS & Device Drivers __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/