binutils-gdb/ld/testsuite/ld-loongarch-elf/desc-norelax.d
Xi Ruoyao 7b0b94b7b9 LoongArch: Fix some test failures about TLS desc and TLS relaxation
There are two issues causing 11 test failures:

1. The TLS desc tests are matching the entire disassemble of a linked
   executable.  But if ld is configured --enable-default-hash-style=gnu
   (note that most modern distros use this option), the layout of the
   linked executables will be different and the immediate operands in
   the linked executables will also be different.  So we add
   "--hash-style=both" for these tests to cancel the effect of
   --enable-default-hash-style=gnu, like [x86_64 mark-plt tests].
2. By default objdump disassemble uses [pseudo-instructions] so "addi.w"
   is outputed as "li.w", causing mismatches in TLS relaxation tests.
   We can turn off the pseudo-instruction usage in objdump using "-M
   no-aliases" to fix them.

[x86_64 mark-plt tests]: 16666ccc91
[pseudo-instructions]: 17f9439038

Signed-off-by: Xi Ruoyao <xry111@xry111.site>
2024-01-22 17:14:36 +08:00

17 lines
397 B
Makefile

#as:
#ld: -z norelro -shared --section-start=.got=0x1ff000 --hash-style=both
#objdump: -dr
#skip: loongarch32-*-*
.*: file format .*
Disassembly of section .text:
0+1c0 <.*>:
1c0: 1a003fe4 pcalau12i \$a0, 511
1c4: 02c02084 addi.d \$a0, \$a0, 8
1c8: 28c00081 ld.d \$ra, \$a0, 0
1cc: 4c000021 jirl \$ra, \$ra, 0
1d0: 0010888c add.d \$t0, \$a0, \$tp