Vivek Goyal <vgoyal at in.ibm.com> writes: > On Mon, Apr 30, 2007 at 05:17:07PM +0200, Andi Kleen wrote: >> On Monday 30 April 2007 17:12:39 Eric W. Biederman wrote: >> > >> > Currently because vmlinux does not reflect that the kernel is relocatable >> > we still have to support CONFIG_PHYSICAL_START. So this patch adds a small >> > c program to do what we cannot do with a linker script set the elf header >> > type to ET_DYN. >> > >> > Since last time I have fixed the type to be in my code ET_DYN (oops), >> > and verified this works with kexec. I realized while testing that we >> > don't have anyway of identifying a kernel vmlinux as linux so we >> > probably want to add an ELF note but that will be another patch. >> >> The patch is ok for me, but does it pass Vivek's usual testing? > > I am facing one issue with this patch. gdb can not analyze the > resulting kernel core file. Looks like gdb treats vmlinux differently if > ELF header type is "ET_DYN". It reads the symbol values incorrectly. Weird. > For example, symbol value of "panic_timeout" is 0xffffffff808a1fa8 but > gdb somehow things that it is 0xffffffff008aaebf. Looks like it is > performing some relocation. > > I am using GNU gdb Red Hat Linux (6.5-5.fc6rh). Does it take a kernel core file to reproduce this problem? Or can you just open up gdb on a vmlinux and look at the symbol address? At least without a core file it is working on with gdb 6.4. Eric