bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/14940] New: -pie issues with TLS relocations


From: jakub at redhat dot com
Subject: [Bug ld/14940] New: -pie issues with TLS relocations
Date: Mon, 10 Dec 2012 13:08:13 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=14940

             Bug #: 14940
           Summary: -pie issues with TLS relocations
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: address@hidden
        ReportedBy: address@hidden
                CC: address@hidden, address@hidden,
                    address@hidden
        Depends on: 6443
    Classification: Unclassified


+++ This bug was initially created as a clone of Bug #6443 +++

__thread int a;
__thread int b __attribute((tls_model ("local-exec")));
__thread int c __attribute((tls_model ("initial-exec")));
__thread int d __attribute((tls_model ("local-dynamic")));
__thread int e __attribute((tls_model ("global-dynamic")));

int
main (void)
{
  return a + b + c + d + e;
}

compiled/linked with -O2 -pie -fpie on various arches either doesn't link at
all,
or makes completely unnecessarily a DT_TEXTREL PIE.  Tried x86_64, i386, ppc,
ppc64.  For the TLS transitions and relocations, PIEs should be handled like
other executables, so many info->shared checks need to be replaced with
!info->executable.  For the TLS relocations, even when the executable is
position independent, the offsets within the PIE's TLS block are known at link
time and so relocations like R_X86_64_TPOFF32 can be relocated fully at link
time.

While this is now fixed on i?86/x86_64 and perhaps ppc/ppc64, it isn't fixed on
s390/s390x.  See https://bugzilla.redhat.com/show_bug.cgi?id=872148

-- 
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.



reply via email to

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