glibc 2.36 *.o files debug extraction broken
Jakub Bogusz
qboosh at pld-linux.org
Tue Aug 16 21:53:40 CEST 2022
On Tue, Aug 16, 2022 at 09:28:58PM +0200, Jan Palus wrote:
> On 16.08.2022 20:31, Jakub Bogusz wrote:
> > In glibc 2.36 build debuginfo extraction process removes .note.GNU-stack
> > section:
>
> ...
>
> > For now only i686 builds are affected because x86_64 and x32 glibc-devel packages
> > haven't been updated on builders.
> >
> >
> > Any guesses what changed?
>
> I believe to be responsible for this, specifically with this debugedit
> commit:
>
> commit bd392272c04d608257eb999670d85261d5125d93
> Author: Jan Palus <atler at pld-linux.org>
> Date: Tue Jun 7 11:39:01 2022
>
> bring back patch from rpm 4.16 for no exe bit when searching debuginfo; rel 2
>
> which now considers non-executable object file matching pattern
> found in `find-debuginfo`: ^\(.*\):[ ]*.*ELF.*, not stripped.*
>
> Which in turn causes object file to be passed to `eu-strip` directly
> responsible for stripping .note.GNU-stack section.
>
> Fix proposals:
>
> 1. modify `find-debuginfo` pattern to include ELF.*\(executable\|shared object\)
> 2. modify macros to invoke `find-debuginfo` with `--keep-section .note.GNU-stack`
> 3. both 1 and 2
I think it would be safer to revert to not touching *.o files (by
default).
BTW, why find-debuginfo removes .note.GNU-stack from *.o and doesn't remove
from *.a/*.so?
--
Jakub Bogusz http://qboosh.pl/
More information about the pld-devel-en
mailing list