]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Fix c64-ifunc-2 test
authorMatthew Malcomson <matthew.malcomson@arm.com>
Mon, 7 Mar 2022 18:10:56 +0000 (18:10 +0000)
committerMatthew Malcomson <matthew.malcomson@arm.com>
Mon, 7 Mar 2022 18:10:56 +0000 (18:10 +0000)
This was newly failing because it was checking for a value *without* the
LSB set.  In a recent commit we have fixed the bug which lost the LSB,
and that caused this test to fail.

Here we use the new testsuite implementation to test for "one plus the
location" rather than "one of the values A, B, C, ...", which is a
better representation of what we're trying to check.

ld/testsuite/ld-aarch64/c64-ifunc-2.d

index b87908b27a4366a181ddee8b7e4b7343ebd3f4b7..2954f67b0c50ece30e2e7a002fc7e03f2afb9f4c 100644 (file)
@@ -4,10 +4,17 @@
 #objdump: -dw
 #source: ifunc-2.s
 
+#record: INDIRECT_LOC FOO_LOCATION
 #...
-0+(130|1a0|1c8|1e0) <foo>:
+0+([0-9a-f]{3}).*0x([0-9a-f]{3})@plt>:
 #...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8|1e0)@plt>
+Disassembly of section \.text:
+
+#check: FOO_LOC string tolower $FOO_LOCATION
+#check: INDIRECT_POS format %x [expr "0x$INDIRECT_LOC + 1"]
+0+FOO_LOC <foo>:
+#...
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0xFOO_LOC@plt>
 [ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+c0, 0 <.*>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+c0, c0, #0x(120|190|1b8|1d0)
+[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+c0, c0, #0xINDIRECT_POS
 #pass