pr27228 testcase
Alan Modra
amodra@gmail.com
Tue Jan 26 10:26:46 GMT 2021
This failed on ft32, hppa, and mips-irix targets. In the case of ft32
the problem was iterating over an array in reverse and not using the
proper condition, so BFD_RELOC_NONE was not recognised.
bfd/
* elf32-ft32.c (ft32_reloc_type_lookup): Don't miss ft32_reloc_map[0].
gas/
PR 27282
* testsuite/gas/all/none.d: Replace skip with xfail, don't xfail ft32.
* testsuite/gas/elf/pr27228.d: xfail hppa and allow OBJECT match.
diff --git a/bfd/elf32-ft32.c b/bfd/elf32-ft32.c
index bd0ed3e81d3..5a6ec764804 100644
--- a/bfd/elf32-ft32.c
+++ b/bfd/elf32-ft32.c
@@ -267,8 +267,7 @@ ft32_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
{
unsigned int i;
- for (i = sizeof (ft32_reloc_map) / sizeof (ft32_reloc_map[0]);
- --i;)
+ for (i = 0; i < sizeof (ft32_reloc_map) / sizeof (ft32_reloc_map[0]); i++)
if (ft32_reloc_map [i].bfd_reloc_val == code)
return & ft32_elf_howto_table [ft32_reloc_map[i].ft32_reloc_val];
diff --git a/gas/testsuite/gas/all/none.d b/gas/testsuite/gas/all/none.d
index deebab8b49c..374808a4f59 100644
--- a/gas/testsuite/gas/all/none.d
+++ b/gas/testsuite/gas/all/none.d
@@ -1,7 +1,7 @@
#objdump: -r -w
#as: --generate-missing-build-notes=no
# The HPPA maps R_PARISC_PCREL64 onto BFD_RELOC_NONE.
-#skip: ft32-*-* hppa*-*-*
+#xfail: hppa*-*-*
#...
0+ .*(NONE|NULL|UNUSED0) +\*ABS\*
diff --git a/gas/testsuite/gas/elf/pr27228.d b/gas/testsuite/gas/elf/pr27228.d
index a44a61ec0fd..da336ff2191 100644
--- a/gas/testsuite/gas/elf/pr27228.d
+++ b/gas/testsuite/gas/elf/pr27228.d
@@ -1,8 +1,10 @@
#as:
#name: .reloc against undefined local symbol (PR 27228)
#readelf: -sW
+# hppa doesn't support use of any BFD_RELOC_*
+#xfail: hppa*-*-*
Symbol table '\.symtab' contains [0-9]+ entries:
#...
- +[a-f0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND .LTHUNK5.lto_priv.0
+ +[a-f0-9]+: 0+ +0 (NOTYPE|OBJECT) +GLOBAL DEFAULT +UND .LTHUNK5.lto_priv.0
#pass
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list