bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/20308] Gold should support i386 TLS code sequences without PLT


From: ncahill_alt at yahoo dot com
Subject: [Bug gold/20308] Gold should support i386 TLS code sequences without PLT
Date: Thu, 18 Aug 2016 06:52:48 +0000

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

--- Comment #15 from ncahill_alt at yahoo dot com ---
(In reply to H.J. Lu from comment #14)
> (In reply to ncahill_alt from comment #13)
> > Oh sorry, here it is:
> > 
> > `echo i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I.
> > -I../../../binutils-2.27/gold/testsuite -I.. 
> > -I../../../binutils-2.27/gold/testsuite
> > -I../../../binutils-2.27/gold/testsuite/..
> > -I../../../binutils-2.27/gold/testsuite/../../include
> > -I../../../binutils-2.27/gold/testsuite/../../elfcpp -I..
> > -DLOCALEDIR="\"/usr/share/binutils-data/i686-pc-linux-gnu/2.27/locale\""  
> > -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow
> > -Wstack-usage=262144 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> > -fmerge-constants -O2 -fno-tree-slsr -march=athlon64 -mtune=core2
> > -fno-inline -pipe -funroll-loops -funswitch-loops | sed -e
> > 's/-Wp,-D_FORTIFY_SOURCE=[0-9[0-9]]*//'` -Bgcctestdir/ -c -o pr20308_gd.o
> > ../../../binutils-2.27/gold/testsuite/pr20308_gd.S
> > 
> > which translates to
> > 
> > i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I.
> > -I../../../binutils-2.27/gold/testsuite -I..
> > -I../../../binutils-2.27/gold/testsuite
> > -I../../../binutils-2.27/gold/testsuite/..
> > -I../../../binutils-2.27/gold/testsuite/../../include
> > -I../../../binutils-2.27/gold/testsuite/../../elfcpp -I..
> > -DLOCALEDIR="/usr/share/binutils-data/i686-pc-linux-gnu/2.27/locale" -W
> > -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144
> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fmerge-constants -O2
> > -fno-tree-slsr -march=athlon64 -mtune=core2 -fno-inline -pipe -funroll-loops
> > -funswitch-loops -Bgcctestdir/ -c -o pr20308_gd.o
> > ../../../binutils-2.27/gold/testsuite/pr20308_gd.S
> 
> This should generate R_386_GOT32X, not R_386_GOT32 relocation.

Could this be a glibc problem?  I see this patch dated December 2015:

> diff --git a/backends/ChangeLog b/backends/ChangeLog 
> index 4b604fd..cc0dd6f 100644 
> --- a/backends/ChangeLog 
> +++ b/backends/ChangeLog 
> @@ -1,3 +1,8 @@ 
> +2015-12-28 Mark Wielaard <mjw(a)redhat.com>; 
> + 
> + * i386_reloc.def: Add GOT32X. 
> + * x86_64_reloc.def: Add GOTPCRELX and REX_GOTPCRELX. 
> + 2015-12-08 Jose E. Marchesi <jose.marchesi(a)oracle.com>;

I'm using glibc-2.22 from 2015-08-14.  In fact, I can confirm that elf.h
defines R_386_GOT32 but not R_386_GOT32X:

> #define R_68K_GOT32     7               /* 32 bit PC relative GOT entry */
> #define R_68K_GOT32O    10              /* 32 bit GOT offset */
> #define R_386_GOT32        3            /* 32 bit GOT entry */
> #define R_ARM_GOT32             26      /* 32 bit GOT entry */
> #define R_SH_GOT32              160
> #define R_390_GOT32             7       /* 32 bit GOT offset.  */
> #define R_X86_64_GOT32          3       /* 32 bit GOT entry */
> #define R_MN10300_GOT32         17      /* 32-bit offset to GOT entry.  */

I think this must be it.

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]