kexec x86_64 - Unhandled rela relocation: R_X86_64_PLT32
Joe Lorenz
joe.lorenz at plexxi.com
Mon Jan 9 19:18:20 EST 2012
Help needed, please:
Sandy Bridge.
2.6.27.21 kernel
x86_64 toolchain built from crosstools-ng.
Using relocatable bzImage as first kernel as well as crash kernel.
# cat /proc/cmdline
rw root=/dev/sda3 rootwait console=ttyS0,38400 crashkernel=128M at 16M
# kexec -l /boot/bzImage --reuse-cmdline
Unhandled rela relocation: R_X86_64_PLT32
Why??
I fooled around in kexec-elf-rel-x86_64.c and noticed there's no case for that
r_type, so I added it as a fall-through to one of the existing ones. Then I got
this:
# kexec -l /boot/bzImage --reuse-cmdline
Unhandled rela relocation: R_X86_64_GOTPCREL
Strange.
So I added that to the fallthrough, and then suddenly it seemed as if the crash
kernel was getting loaded OK (no error messages anymore).
But then I tried:
# kexec -l /boot/bzImage --reuse-cmdline
# kexec -e
[ 952.817842] md: stopping all md devices.
[ 953.818808] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 953.961590] igb 0000:02:00.0: PME# enabled
[ 953.962395] igb 0000:02:00.0: PME# enabled
[ 953.976468] Starting new kernel
After several seconds pause, it ended up back at GRUB, which I didn't expect.
Any help would be most appreciated - thanks.
More information about the kexec
mailing list