linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* libelf-0.175 breaks objtool
@ 2019-02-05 18:38 Steven Rostedt
  2019-02-06  2:16 ` Josh Poimboeuf
  0 siblings, 1 reply; 13+ messages in thread
From: Steven Rostedt @ 2019-02-05 18:38 UTC (permalink / raw)
  To: Josh Poimboeuf; +Cc: LKML

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-04-10  0:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-05 18:38 libelf-0.175 breaks objtool Steven Rostedt
2019-02-06  2:16 ` Josh Poimboeuf
2019-02-06 17:16   ` Steven Rostedt
2020-04-06 21:07     ` Arnd Bergmann
2020-04-06 22:16       ` Josh Poimboeuf
2020-04-06 22:31         ` Arnd Bergmann
2020-04-07 15:46           ` Arnd Bergmann
2020-04-07 16:32             ` Josh Poimboeuf
2020-04-07 18:44               ` Arnd Bergmann
2020-04-07 19:30                 ` Arnd Bergmann
2020-04-09  7:41                 ` Christoph Hellwig
2020-04-09  8:25                   ` Arnd Bergmann
2020-04-10  0:46                     ` Dave Chinner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).