aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-x86-64/tlsbindesc.dd
diff options
context:
space:
mode:
authorkonglin1 <lingling.kong@intel.com>2024-07-01 23:01:12 -0700
committerH.J. Lu <hjl.tools@gmail.com>2024-07-01 23:08:31 -0700
commiteb5d719dd774afd445dbf2be891868cf1973058c (patch)
treeee4e79f92ecd017a275c0570bbdfd8adec976024 /ld/testsuite/ld-x86-64/tlsbindesc.dd
parentaa0c55a9669b7321f5b088ee4833ddad11dfa7b1 (diff)
downloadgdb-eb5d719dd774afd445dbf2be891868cf1973058c.zip
gdb-eb5d719dd774afd445dbf2be891868cf1973058c.tar.gz
gdb-eb5d719dd774afd445dbf2be891868cf1973058c.tar.bz2
x86-64: Verify that TLS IE works with APX NF
Verify that {nf} add %reg1, foo@gottpoff(%rip), %reg2 {nf} add foo@gottpoff(%rip), %reg, %reg2 work correctly with ld and gold. gas/ * testsuite/gas/i386/x86-64-gottpoff.d: Updated. * testsuite/gas/i386/x86-64-gottpoff.s: Add tests for "{nf} add %reg1, foo@gottpoff(%rip), %reg2" and "{nf} add foo@gottpoff(%rip), %reg, %reg2". gold/ * testsuite/x86_64_ie_to_le.s: Add tests for "{nf} add %reg1, foo@gottpoff(%rip), %reg2" and "{nf} add foo@gottpoff(%rip), %reg, %reg2". * testsuite/x86_64_ie_to_le.sh: Updated. ld/ * testsuite/ld-x86-64/tlsbindesc.s: Add R_X86_64_CODE_6_GOTTPOFF for APX NF tests. * testsuite/ld-x86-64/tlsbindesc.d: Updated. * testsuite/ld-x86-64/tlsbindesc.rd: Likewise. Co-Authored-By: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'ld/testsuite/ld-x86-64/tlsbindesc.dd')
-rw-r--r--ld/testsuite/ld-x86-64/tlsbindesc.dd24
1 files changed, 24 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.dd b/ld/testsuite/ld-x86-64/tlsbindesc.dd
index be89f38..7aa1b92 100644
--- a/ld/testsuite/ld-x86-64/tlsbindesc.dd
+++ b/ld/testsuite/ld-x86-64/tlsbindesc.dd
@@ -175,6 +175,12 @@ Disassembly of section .text:
+[0-9a-f]+: 62 f4 fc 10 03 ([0-9a-f]{2} ){2}[ ]+add 0x[0-9a-f]+\(%rip\),%rax,%r16 +# [0-9a-f]+ <sG2>
# -> R_X86_64_TPOFF64 sG2
+[0-9a-f]+: ([0-9a-f]{2} ){3} *
+ +[0-9a-f]+: 62 f4 fc 14 01 ([0-9a-f]{2} ){2}[ ]+\{nf\} add %rax,0x[0-9a-f]+\(%rip\),%r16 +# [0-9a-f]+ <sG2>
+# -> R_X86_64_TPOFF64 sG2
+ +[0-9a-f]+: ([0-9a-f]{2} ){3} *
+ +[0-9a-f]+: 62 f4 fc 14 03 ([0-9a-f]{2} ){2}[ ]+\{nf\} add 0x[0-9a-f]+\(%rip\),%rax,%r16 +# [0-9a-f]+ <sG2>
+# -> R_X86_64_TPOFF64 sG2
+ +[0-9a-f]+: ([0-9a-f]{2} ){3} *
# IE -> LE against global var defined in exec
+[0-9a-f]+: d5 18 81 c1 60 ff ff[ ]+add \$0xf+60,%r17
# sg1
@@ -185,6 +191,12 @@ Disassembly of section .text:
+[0-9a-f]+: 62 d4 f4 10 81 ([0-9a-f]{2} ){2}[ ]+add \$0x[0-9a-f]+,%r8,%r17
# sg1
+[0-9a-f]+: ff ff ff *
+ +[0-9a-f]+: 62 d4 f4 14 81 ([0-9a-f]{2} ){2}[ ]+\{nf\} add \$0x[0-9a-f]+,%r8,%r17
+# sg1
+ +[0-9a-f]+: ff ff ff *
+ +[0-9a-f]+: 62 d4 f4 14 81 ([0-9a-f]{2} ){2}[ ]+\{nf\} add \$0x[0-9a-f]+,%r8,%r17
+# sg1
+ +[0-9a-f]+: ff ff ff *
# IE -> LE against local var
+[0-9a-f]+: d5 18 81 c2 80 ff ff[ ]+add \$0xf+80,%r18
# sl1
@@ -195,6 +207,12 @@ Disassembly of section .text:
+[0-9a-f]+: 62 d4 fc 18 81 ([0-9a-f]{2} ){2}[ ]+add \$0x[0-9a-f]+,%r8,%rax
# sl1
+[0-9a-f]+: ff ff ff *
+ +[0-9a-f]+: 62 d4 fc 1c 81 ([0-9a-f]{2} ){2}[ ]+\{nf\} add \$0x[0-9a-f]+,%r8,%rax
+# sl1
+ +[0-9a-f]+: ff ff ff *
+ +[0-9a-f]+: 62 d4 fc 1c 81 ([0-9a-f]{2} ){2}[ ]+\{nf\} add \$0x[0-9a-f]+,%r8,%rax
+# sl1
+ +[0-9a-f]+: ff ff ff *
# IE -> LE against hidden var
+[0-9a-f]+: d5 18 81 c3 a0 ff ff[ ]+add \$0xf+a0,%r19
# sh1
@@ -205,6 +223,12 @@ Disassembly of section .text:
+[0-9a-f]+: 62 fc bc 18 81 ([0-9a-f]{2} ){2}[ ]+add \$0x[0-9a-f]+,%r19,%r8
# sh1
+[0-9a-f]+: ff ff ff *
+ +[0-9a-f]+: 62 fc bc 1c 81 ([0-9a-f]{2} ){2}[ ]+\{nf\} add \$0x[0-9a-f]+,%r19,%r8
+# sh1
+ +[0-9a-f]+: ff ff ff *
+ +[0-9a-f]+: 62 fc bc 1c 81 ([0-9a-f]{2} ){2}[ ]+\{nf\} add \$0x[0-9a-f]+,%r19,%r8
+# sh1
+ +[0-9a-f]+: ff ff ff *
# Direct access through %fs
# IE against global var
+[0-9a-f]+: d5 48 8b 25 ([0-9a-f]{2} ){3}[ ]+mov 0x[0-9a-f]+\(%rip\),%r20 +# [0-9a-f]+ <sG5>