lkml.org 
[lkml]   [2019]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectlibelf-0.175 breaks objtool
Just a FYI.

After a recent upgrade in debian testing, I was not able to build the
kernel. I have a custom build of gcc, so I thought it was strange that
I was getting something like this (took this from the web, as I don't
have the error anymore with the work around, and currently doing a full
build):

objdump: kernel/.tmp_signal.o: unable to initialize decompress status for section .debug_info
objdump: kernel/.tmp_signal.o: unable to initialize decompress status for section .debug_info
objdump: kernel/.tmp_signal.o: file format not recognized
CC arch/x86/kernel/platform-quirks.o
objdump: arch/x86/kernel/.tmp_ebda.o: unable to initialize decompress status for section .debug_info
objdump: arch/x86/kernel/.tmp_ebda.o: unable to initialize decompress status for section .debug_info
objdump: arch/x86/kernel/.tmp_ebda.o: file format not recognized
objdump: mm/.tmp_swap_slots.o: unable to initialize decompress status for section .debug_info
objdump: mm/.tmp_swap_slots.o: unable to initialize decompress status for section .debug_info
objdump: mm/.tmp_swap_slots.o: file format not recognized

The web showed this was an error in Arch Linux, with the latest
libelf-0.175. I was confused to why an upgrade broke my build since I
don't even use the distro gcc to build my kernel. But then realized it
was objtool (after doing a make V=1).

To make sure that this was the case, I used the gcc command (leaving it
out here as it was very long) from a make V=1 to get an object file to
play with. Then tried out:

$ objdump -dr arch/x86/events/intel/.tmp_rapl.o

Which dumped the contents of .tmp_rapl.o nicely.

Then performed:

$ ./tools/objtool/objtool orc generate --module --no-fp --retpoline "arch/x86/events/intel/.tmp_rapl.o";

And then tried again the objdump, but this time I got:

$ objdump -dr arch/x86/events/intel/.tmp_rapl.o
objdump: arch/x86/events/intel/.tmp_rapl.o: unable to initialize decompress status for section .debug_info
objdump: arch/x86/events/intel/.tmp_rapl.o: unable to initialize decompress status for section .debug_info
objdump: arch/x86/events/intel/.tmp_rapl.o: file format not recognized


The work around I did was that I found an older libelf on another box,
copied it to this box and made the symlink point to it. Low and behold,
objtool worked again.

Anyone else stumble across this?

-- Steve

\
 
 \ /
  Last update: 2019-02-05 19:38    [W:0.090 / U:0.448 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site