diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-08-29 08:47:00 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-08-30 05:18:10 -0700 |
commit | 67e30b15212adc1502b898a1ca224fdf65dc110d (patch) | |
tree | b5a4bd115a06aa54c301944401772e58d0ab0122 /gdb/python | |
parent | ca6f0a61e78dd3b7f26dcffa3ec21eb81b6c525c (diff) | |
download | binutils-67e30b15212adc1502b898a1ca224fdf65dc110d.zip binutils-67e30b15212adc1502b898a1ca224fdf65dc110d.tar.gz binutils-67e30b15212adc1502b898a1ca224fdf65dc110d.tar.bz2 |
x86: Check invalid TLS descriptor call
TLS descriptor call,
call *x@tlsdesc(%rax)
or
call *x@tlsdesc(%eax)
calls _dl_tlsdesc_return which expects that RAX/EAX points to the TLS
descriptor. Update x86 linker to issue an error with or without TLS
transition.
bfd/
PR ld/32123
* elf32-i386.c (elf_i386_check_tls_transition): Move
R_386_TLS_DESC_CALL to ...
(elf_i386_tls_transition): Here.
* elf64-x86-64.c (elf_x86_64_check_tls_transition): Move.
R_X86_64_TLSDESC_CALL check to ...
(elf_x86_64_tls_transition): Here.
ld/
PR ld/32123
* testsuite/ld-i386/i386.exp: Run tlsgdesc3.
* testsuite/ld-i386/tlsgdesc3.d: New file.
* testsuite/ld-x86-64/tlsdesc5.d: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run tlsdesc5.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'gdb/python')
0 files changed, 0 insertions, 0 deletions