bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/2984] New: Incorrect relocation for TLS variable using LE access


From: carmelo73 at gmail dot com
Subject: [Bug ld/2984] New: Incorrect relocation for TLS variable using LE access model
Date: 31 Jul 2006 12:24:57 -0000

Running a simple test from glibc tests, I bumped into this problem.
The test defines a static TLS variable with an alignement constraint of 4096.
The compiler generates correctly a TPOFF relocation. At the end of the link 
stage,
the relocated value is evaluated to 8 (it should be the TCB size), not taking
care of the alignement constraint.
Here follows the simple test exploiting the bug:


#define AL 4096
struct foo
{
  int i;
} __attribute ((aligned (AL)));

static __thread struct foo f;


int
main (void)
{
  int result = 0;

  int fail = (((unsigned int) &f) & (AL - 1)) != 0;
  printf ("&f = %p %s\n", &f, fail ? "FAIL" : "OK");
  result |= fail;

  return result;
}

-- 
           Summary: Incorrect relocation for TLS variable using LE access
                    model
           Product: binutils
           Version: 2.15
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: carmelo73 at gmail dot com
                CC: bug-binutils at gnu dot org,carmelo73 at gmail dot com
  GCC host triplet: Linux ReadHat Enterprise AS4 - 2.6.9-5ELsmp
GCC target triplet: SH4


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

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

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