On Thu, 4 Sep 2003 14:09:15 -0700 (PDT), 
Sooraj P <[EMAIL PROTECTED]> wrote:
>  I am running redhat 9 kernel (2.4.20) on an i386 machine
>  I have installed kdb 4.3.
> 
>   At the kdb prompt when I try to setup a breakpoint by using the function name its 
> give me an error.
>eg: kdb> bp sys_write
>diag:  -15 : illegal numeric value
> 
>   It seems that the symbol table is not loaded.

You probably got a rejected patch, most likely on the top level
Makefile, check for rejected patches.  The top level Makefile should
look like this, RH 9 may add $(CRYTPO) to LD_VMLINUX.

LD_VMLINUX      := $(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o 
init/do_mounts.o \
                        --start-group \
                        $(CORE_FILES) \
                        $(DRIVERS) \
                        $(NETWORKS) \
                        $(LIBS) \
                        --end-group
ifeq ($(CONFIG_KALLSYMS),y)
LD_VMLINUX_KALLSYMS     := $(TMPPREFIX).tmp_kallsyms3.o
else
LD_VMLINUX_KALLSYMS     :=
endif

vmlinux: include/linux/version.h $(CONFIGURATION) init/main.o init/version.o 
init/do_mounts.o linuxsubdirs
        @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" kallsyms

.PHONY: kallsyms

kallsyms:
ifeq ($(CONFIG_KALLSYMS),y)
        @echo kallsyms pass 1
        $(LD_VMLINUX) -o $(TMPPREFIX).tmp_vmlinux1
        @$(KALLSYMS) $(TMPPREFIX).tmp_vmlinux1 > $(TMPPREFIX).tmp_kallsyms1.o
        @echo kallsyms pass 2
        @$(LD_VMLINUX) $(TMPPREFIX).tmp_kallsyms1.o -o $(TMPPREFIX).tmp_vmlinux2
        @$(KALLSYMS) $(TMPPREFIX).tmp_vmlinux2 > $(TMPPREFIX).tmp_kallsyms2.o
        @echo kallsyms pass 3
        @$(LD_VMLINUX) $(TMPPREFIX).tmp_kallsyms2.o -o $(TMPPREFIX).tmp_vmlinux3
        @$(KALLSYMS) $(TMPPREFIX).tmp_vmlinux3 > $(TMPPREFIX).tmp_kallsyms3.o
endif
        $(LD_VMLINUX) $(LD_VMLINUX_KALLSYMS) -o $(TMPPREFIX)vmlinux
ifneq ($(TMPPREFIX),)
        mv $(TMPPREFIX)vmlinux vmlinux
endif
        $(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] 
\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
        @rm -f $(TMPPREFIX).tmp_vmlinux* $(TMPPREFIX).tmp_kallsyms*


Also check arch/i386/vmlinux.lds for these lines

  __start___kallsyms = .;       /* All kernel symbols */
  __kallsyms : { *(__kallsyms) }
  __stop___kallsyms = .;


Reply via email to