glibc/sysdeps
Adhemerval Zanella 1ce16683d9 i386: Use comdat instead of .gnu.linkonce for i386 setup pic register (BZ #20543)
GCC has moved from using .gnu.linkonce for i386 setup pic register with
minimum current version (as for binutils minimum binutils that support
comdat).

Trying to pinpoint when binutils has added comdat support for i686, it
seems it was around 2004 [1].  I also checking with some ancient
binutils older than 2.16 I see:

test.o: In function `__x86.get_pc_thunk.bx':
test.o(.text.__x86.get_pc_thunk.bx+0x0): multiple definition of `__x86.get_pc_thunk.bx'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/crti.o(.gnu.linkonce.t.__x86.get_pc_thunk.bx+0x0): first defined here

Which seems that such version can not handle either comdat at all or
a mix of linkonce and comdat.  For binutils 2.16.1 I am getting a
different issue trying to link a binary with and more recent
ctri.o (unrecognized relocation (0x2b) in section `.init', which is
R_386_GOT32X and old binutils won't generate it anyway).

So I think that either unlikely someone will use an older binutils than
the one used to glibc and even this scenario may fail with some issue
as the R_386_GOT32X.  Also, 2.16.1 is quite old and not really supported
(glibc itself required 2.25).

Checked on i686-linux-gnu.

[1] https://gcc.gnu.org/ml/gcc/2004-05/msg00030.html

(cherry picked from commit 35200fd3892f6caf867bf89bc8048e553906af28)
2020-03-24 08:46:59 -03:00
..
aarch64 aarch64: simplify the DT_AARCH64_VARIANT_PCS handling code 2019-07-10 15:28:00 +01:00
alpha Update Alpha libm-test-ulps 2019-09-03 21:38:07 +02:00
arm Break further lines before not after operators. 2019-02-26 15:01:50 +00:00
csky C-SKY: mark lr as undefined to stop unwinding 2019-03-11 09:51:14 +08:00
generic Add nocancel version of pread64() 2020-01-17 13:56:43 +01:00
gnu login: Add nonstring attributes to struct utmp, struct utmpx [BZ #24899] 2020-01-17 13:56:00 +01:00
hppa hppa: Update libm-tests-ulps 2019-09-08 22:57:15 +02:00
htl hurd: advertise *_setpshared as not supported 2019-01-02 22:21:34 +01:00
hurd Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
i386 i386: Use comdat instead of .gnu.linkonce for i386 setup pic register (BZ #20543) 2020-03-24 08:46:59 -03:00
ia64 Refactor hp-timing rtld usage 2019-03-22 17:30:44 -03:00
ieee754 math/test-sinl-pseudo: Use stack protector only if available 2020-03-11 12:59:42 +01:00
init_array Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
m68k wcsmbs: optimize wcpcpy 2019-02-27 10:00:34 -03:00
mach misc: Add twalk_r function 2019-05-02 11:42:51 +02:00
microblaze Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
mips Add and move fall-through comments in system-specific code. 2019-02-26 02:09:18 +00:00
nios2 Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
nptl nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libc 2019-07-18 11:24:33 -03:00
posix nss: Turn __nss_database_lookup into a compatibility symbol 2019-05-15 15:07:49 +02:00
powerpc Fix array overflow in backtrace on PowerPC (bug 25423) 2020-03-18 10:26:13 -04:00
pthread nptl: Add POSIX-proposed sem_clockwait 2019-07-12 13:36:23 +00:00
riscv riscv: restore ABI compatibility (bug 24484) 2019-07-04 14:55:58 +02:00
s390 S390: Fix handling of needles crossing a page in strstr z15 ifunc-variant. [BZ #25226] 2019-11-27 12:38:58 +01:00
sh Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sparc nptl: Rename lll_timedlock to lll_clocklock and add clockid parameter 2019-07-12 13:36:25 +00:00
unix riscv: Avoid clobbering register parameters in syscall 2020-02-16 15:16:50 +01:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
x86 Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
x86_64 x86-64: Compile branred.c with -mprefer-vector-width=128 [BZ #24603] 2019-07-24 14:48:43 -07:00