https://sourceware.org/bugzilla/show_bug.cgi?id=32022
Bug ID: 32022
Summary: Assembler shouldn't accept invalid TLS instructions
Product: binutils
Version: 2.44 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: hjl.tools at gmail dot com
CC: lili.cui at intel dot com
Target Milestone: ---
Target: x86
TLS relocations can only be used with specific instructions as specified in TLS
psABI and linker issues an error when TLS relocations are used with wrong
instructions.
Otherwise, compiler bugs may go undetected as shown in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116043
Assembler shouldn't allow TLS relocations on wrong instructions:
[hjl@gnu-tgl-3 tmp]$ cat y.s
.text
xorq foo@GOTTPOFF(%rip), %rax
movq (%rax), %rax
.globl foo
.section .tdata,"awT",@progbits
.align 4
.type foo, @object
.size foo, 4
foo:
.long 100
[hjl@gnu-tgl-3 tmp]$ gcc -c y.s
[hjl@gnu-tgl-3 tmp]$ ld y.o
ld: warning: cannot find entry symbol _start; defaulting to 0000000000401000
ld: y.o: TLS transition from R_X86_64_GOTTPOFF to R_X86_64_TPOFF32 against
`foo' at 0x3 in section `.text' failed
ld: final link failed: bad value
[hjl@gnu-tgl-3 tmp]$
--
You are receiving this mail because:
You are on the CC list for the bug.