pr27228 testcase

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.
This commit is contained in:
Alan Modra
2021-01-25 15:17:15 +10:30
parent d0cc52bdf2
commit 4287950e54
5 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2021-01-26 Alan Modra <amodra@gmail.com>
* elf32-ft32.c (ft32_reloc_type_lookup): Don't miss ft32_reloc_map[0].
2021-01-24 H.J. Lu <hongjiu.lu@intel.com> 2021-01-24 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/27231 PR binutils/27231

View File

@ -267,8 +267,7 @@ ft32_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
{ {
unsigned int i; unsigned int i;
for (i = sizeof (ft32_reloc_map) / sizeof (ft32_reloc_map[0]); for (i = 0; i < sizeof (ft32_reloc_map) / sizeof (ft32_reloc_map[0]); i++)
--i;)
if (ft32_reloc_map [i].bfd_reloc_val == code) if (ft32_reloc_map [i].bfd_reloc_val == code)
return & ft32_elf_howto_table [ft32_reloc_map[i].ft32_reloc_val]; return & ft32_elf_howto_table [ft32_reloc_map[i].ft32_reloc_val];

View File

@ -1,3 +1,9 @@
2021-01-26 Alan Modra <amodra@gmail.com>
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.
2021-01-24 H.J. Lu <hongjiu.lu@intel.com> 2021-01-24 H.J. Lu <hongjiu.lu@intel.com>
PR gas/27228 PR gas/27228

View File

@ -1,7 +1,7 @@
#objdump: -r -w #objdump: -r -w
#as: --generate-missing-build-notes=no #as: --generate-missing-build-notes=no
# The HPPA maps R_PARISC_PCREL64 onto BFD_RELOC_NONE. # The HPPA maps R_PARISC_PCREL64 onto BFD_RELOC_NONE.
#skip: ft32-*-* hppa*-*-* #xfail: hppa*-*-*
#... #...
0+ .*(NONE|NULL|UNUSED0) +\*ABS\* 0+ .*(NONE|NULL|UNUSED0) +\*ABS\*

View File

@ -1,8 +1,10 @@
#as: #as:
#name: .reloc against undefined local symbol (PR 27228) #name: .reloc against undefined local symbol (PR 27228)
#readelf: -sW #readelf: -sW
# hppa doesn't support use of any BFD_RELOC_*
#xfail: hppa*-*-*
Symbol table '\.symtab' contains [0-9]+ entries: 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 #pass