[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/13301] New: Wrong linker relaxation for TLS_LDM_CALL and TLS_GD_
From: |
ebotcazou at gcc dot gnu.org |
Subject: |
[Bug ld/13301] New: Wrong linker relaxation for TLS_LDM_CALL and TLS_GD_CALL on SPARC |
Date: |
Sun, 16 Oct 2011 14:41:00 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=13301
Bug #: 13301
Summary: Wrong linker relaxation for TLS_LDM_CALL and
TLS_GD_CALL on SPARC
Product: binutils
Version: 2.23 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: address@hidden
ReportedBy: address@hidden
Classification: Unclassified
This is the miscompilation of MPFR 3.1.0 on SPARC/Linux, initially filed as
http://gcc.gnu.org/PR50683
The compiler generates at -O2 -fPIC:
add %l7, %l3, %l3, %tgd_add(__gmpfr_flags)
[...]
call __tls_get_addr, %tgd_call(__gmpfr_flags)
mov %l3, %o0
ld [%o0], %g1
and the linker turns this into:
0x00014d14 <+504>: add %g7, %o0, %o0
0x00014d18 <+508>: mov %l3, %o0
0x00014d1c <+512>: ld [ %o0 ], %g1
so segfault on the load. Both TLS_LDM_CALL and TLS_GD_CALL are affected.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
- [Bug ld/13301] New: Wrong linker relaxation for TLS_LDM_CALL and TLS_GD_CALL on SPARC,
ebotcazou at gcc dot gnu.org <=