v2.6.28-rc2: x86_32 relocation regression?

From: Vegard Nossum
Date: Mon Nov 24 2008 - 16:19:19 EST


Hi,

I couldn't help noticing that addr2line no longer works for me since
at least v2.6.28-rc2. I get this:

EIP: 0060:[<c039e613>] EFLAGS: 00000202 CPU: 0
EIP is at strcpy+0x13/0x30

$ addr2line -e vmlinux -i c039e613
??:0

...even though the kernel was configured with CONFIG_DEBUG_INFO=y.

$ grep DEBUG_INFO .config
CONFIG_DEBUG_INFO=y

gdb too:

(gdb) disas 0xc039e613
No function contains specified address.

This is a simple x86_32 defconfig with CONFIG_DEBUG_INFO toggled.

$ nm vmlinux | grep strcpy
c12a3b90 t scsi_strcpy_devinfo
c119e600 T strcpy

It looks like everything was offset by 0xe00000:

$ addr2line -e vmlinux c119e613
arch/x86/lib/string_32.c:20

I have also this:

virtual kernel memory layout:
fixmap : 0xffc79000 - 0xfffff000 (3608 kB)
pkmap : 0xff400000 - 0xff800000 (4096 kB)
vmalloc : 0xc87f0000 - 0xff3fe000 ( 876 MB)
lowmem : 0xc0000000 - 0xc7ff0000 ( 127 MB)
.init : 0xc08ce000 - 0xc0932000 ( 400 kB)
.data : 0xc06c9a4b - 0xc08c46ec (2027 kB)
.text : 0xc0200000 - 0xc06c9a4b (4902 kB)

Any ideas?

Thanks,


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/