lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190205133821.1a243836@gandalf.local.home>
Date:   Tue, 5 Feb 2019 13:38:21 -0500
From:   Steven Rostedt <rostedt@...dmis.org>
To:     Josh Poimboeuf <jpoimboe@...hat.com>
Cc:     LKML <linux-kernel@...r.kernel.org>
Subject: libelf-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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ