Hi Guillem,

On 2025-12-08 01:45, Guillem Jover wrote:
> Hi!
> 
> On Sun, 2025-12-07 at 12:04:40 +0100, Aurelien Jarno wrote:
> > Package: dpkg-dev
> > Version: 1.22.21
> > Severity: wishlist
> > Control: block 1122038 by -1
> 
> > When symbol versioning is in use, the '.gnu.version_r' section records
> > all symbol version requirements declared by the binary for each of its
> > shared library dependencies. At runtime, ld.so checks that all symbol
> > versions are provided by the target library and refuse to run if a
> > required symbol version is missing. 
> > 
> > On its side, dpkg-shlibdeps computes versioned dependencies only from
> > the versions used by the symbols (from the '.dynsym' section).  This
> > works fine as long as every symbol version required by the binary is
> > also reference by at least one symbol.
> > 
> > Unfortunately, recent binutils and glibc versions started to use the
> > symbol version requirements from section '.gnu.version_r' as ABI flags,
> > meaning they do not have symbols associated with them. For instance the
> > 'GLIBC_ABI_GNU_TLS' symbol on i386, which triggered the issue in bug
> > #1122038. It is not seen by dpkg-shlibdeps, causing the generated
> > dependency on libc6 to be lower than what is actually need at runtime,
> > and the binary fails to start with older glibc.
> > 
> > Would it be possible for dpkg-shlibdeps to handle the requirements found
> > in the '.gnu.version_r' section? In the above case it means that an
> > entry for GLIBC_ABI_GNU_TLS in the '.gnu.version_r' section would match
> > the ' GLIBC_ABI_GNU_TLS@GLIBC_ABI_GNU_TLS 2.42' in the symbols file.
> 
> Ah, hmm, that's unfortunate. The attached patch seems to fix this for
> me (once I removed the workaround from the libc6:i386.symbols file
> from the chroot. I've queued the patch for my next push, which will be
> part of the 1.23.0 release.
> 

Thanks a lot for the quick fix, I confirm that it works as expected.

Thanks,
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                     http://aurel32.net

Reply via email to