[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug ld/24146] New: "R_AARCH64_ABS64 used with TLS symbol a_thread_local" when compiled for -g,
alahay01 at gcc dot gnu.org <=