https://sourceware.org/bugzilla/show_bug.cgi?id=33702

            Bug ID: 33702
           Summary: GLIBC_ABI_GNU_TLS produced for i386 binaries that do
                    not need it
           Product: binutils
           Version: 2.45
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---
            Target: i386

A GLIBC_ABI_GNU_TLS symbol version requirement is supposed to be created only
if the binary uses global-dynamic TLS. It is created for 32-bit executables
that use no TLS at all. (In executables, TLS sequences should be relaxed to
local-exec, that's another reason why there shouldn't be a GLIBC_ABI_GNU_TLS
symbol requirement.)

[hjl@gnu-zen4-1 tls-1]$ cat x.c
int
main ()
{
  return 0;
}
[hjl@gnu-zen4-1 tls-1]$ make
readelf -V x

Version symbols section '.gnu.version' contains 4 entries:
 Addr: 0x00000000080490cc  Offset: 0x000010cc  Link: 8 (.dynsym)
  000:   0 (*local*)       2 (GLIBC_2.34)    0 (*local*)       1 (*global*)   

Version needs section '.gnu.version_r' contains 1 entry:
 Addr: 0x00000000080490d4  Offset: 0x000010d4  Link: 9 (.dynstr)
  000000: Version: 1  File: libc.so.6  Cnt: 2
  0x0010:   Name: GLIBC_ABI_GNU_TLS  Flags: none  Version: 3
  0x0020:   Name: GLIBC_2.34  Flags: none  Version: 2
[hjl@gnu-zen4-1 tls-1]$

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to