bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/24146] New: "R_AARCH64_ABS64 used with TLS symbol a_thread_local


From: alahay01 at gcc dot gnu.org
Subject: [Bug ld/24146] New: "R_AARCH64_ABS64 used with TLS symbol a_thread_local" when compiled for -g
Date: Mon, 28 Jan 2019 09:10:22 +0000

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

            Bug ID: 24146
           Summary: "R_AARCH64_ABS64 used with TLS symbol a_thread_local"
                    when compiled for -g
           Product: binutils
           Version: 2.31
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: alahay01 at gcc dot gnu.org
  Target Milestone: ---

$ cat l.c
__thread int a_thread_local;

int main(void)
{
  a_thread_local = 3;
}


Note this does produce a binary as well as error. Assuming this means stuff is
missing from the result:
$ clang l.c -fuse-ld=ld -g
/usr/bin/ld: /tmp/l-e8fd7d.o(.debug_info+0x37): R_AARCH64_ABS64 used with TLS
symbol a_thread_local

Works with GOLD, no error:
$ clang l.c -fuse-ld=gold -g


With GCC+LD this error does not occur because GCC is not outputting
DW_AT_location for the TLS variable a_thread_local.  Once this support is added
into LD then GCC will be able to add support.  See
https://gcc.gnu.org/bugzilla//show_bug.cgi?id=83010

Support for DW_AT_location on TLS variables is required for good debugging in
GDB.

Tested on both 2.31.1 and HEAD.

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