diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-09-25 16:39:04 +0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-09-26 02:10:52 +0800 |
commit | c79cc30862d7255ca15884aa956d1ccfa279d86a (patch) | |
tree | 2c1f10426f43594c1215a20028ad5620c67c290b /gcc/gdbhooks.py | |
parent | ed6dccd00d8eedc8f671133f90e6a0cd12f1f05d (diff) | |
download | gcc-c79cc30862d7255ca15884aa956d1ccfa279d86a.zip gcc-c79cc30862d7255ca15884aa956d1ccfa279d86a.tar.gz gcc-c79cc30862d7255ca15884aa956d1ccfa279d86a.tar.bz2 |
x86: Don't use address override with segment regsiter
Address override only applies to the (reg32) part in the thread address
fs:(reg32). Don't rewrite thread address like
(set (reg:CCZ 17 flags)
(compare:CCZ (reg:SI 98 [ __gmpfr_emax.0_1 ])
(mem/c:SI (plus:SI (plus:SI (unspec:SI [
(const_int 0 [0])
] UNSPEC_TP)
(reg:SI 107))
(const:SI (unspec:SI [
(symbol_ref:SI ("previous_emax") [flags 0x1a] <var_decl 0x7fffe9a11cf0 previous_emax>)
] UNSPEC_DTPOFF))) [1 previous_emax+0 S4 A32])))
if address override is used to avoid the invalid memory operand like
cmpl %fs:previous_emax@dtpoff(%eax), %r12d
gcc/
PR target/116839
* config/i386/i386.cc (ix86_rewrite_tls_address_1): Make it
static. Return if TLS address is thread register plus an integer
register.
gcc/testsuite/
PR target/116839
* gcc.target/i386/pr116839.c: New file.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'gcc/gdbhooks.py')
0 files changed, 0 insertions, 0 deletions