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 = .;