Vivek Goyal wrote: > On Fri, Sep 28, 2007 at 05:40:33PM -0600, Eric W. Biederman wrote: > >>Derek Atkins <warlord at MIT.EDU> writes: >> >> >>>Well, gdb agrees with System.map, so I'm sure that gdb itself is >>>okay. It's certainly possible that that the kgdb stub is weird, >>>but /proc/kallsyms doesn't match System.map, and THAT'S what's >>>confusing me most of all. >> >>Ok. So we must have a relocatable kernel that figures it has been >>relocated. Interesting. >> >>What is your bootloader? >>What is your kernel version? >>What is your kernel config? >> >>The only time I would expect to see what you are seeing is if >>you are debugging the kdump kernel, which doesn't sound like >>the case. >> >>If we actually have a truly offset kernel then while things >>may not be perfect this is at least expected. I don't think >>I have heard of anyone handling this case very well. >> > > > Hi Eric and others, > > I think we might be running into the issues because i386, FC7 relocatable > kernel has been compiled for 16MB physical address but effectively it > runs at 4MB physical address. So kernel does not run at compiled address > and any kind of debugging tools reading symbol address from System.map > or rom vmlinux will fail as run time symbol addresses are different. > > /proc/kallsyms should help though. This is one problem with shift in run > time virtual address while relocating the kernel. We should be running kernel > at compiled address to be able to debug it. Or enable any tools to parse > /proc/kallsyms to read the shift in symbol addresses and adjust accordingly. > > Thanks > Vivek Right, crash was updated in version 4.0-4.5 to allow the use of /proc/kallsyms as an alternative to the System.map file, as well as adding a new --reloc command line argument. After bringing up the vmlinux file in gdb (with the "wrong" addresses), all of the minimal_symbol data structures in the gdb module are back-patched with the /proc/kallsyms values: http://people.redhat.com/anderson/crash.changelog.html#4_0_4_5 It seems the benefit of configuring the kernel that way is debatable, and I will do all I can to convince the RHEL-6 and beyond kernel maintainers from doing it that way in the future. But Fedora goes its own way. Seems totally lame to issue a bogus System.map file though... Dave