Accept mips-sgi-irix output in a few ld tests

mips-sgi-irix gas emits STT_OBJECT symbols where other assemblers
would use STT_NOTYPE.  See mips_frob_symbol in gas/config/tc-mips.c.
Also, the section of some dynamic symbols is set to SHN_MIPS_TEXT or
SHN_MIPS_DATA.  See _bfd_mips_elf_finish_dynamic_symbol in
bfd/elfxx-mips.c.  These differences are visible in readelf output
and cause some tests to fail for no other good reason.

The patch fixes the following fails and removes an xfail.
FAIL: ld-elf/pr23591
FAIL: PROVIDE_HIDDEN test (auxiliary shared object)
FAIL: PR ld/21233 dynamic symbols with section GC (auxiliary shared library)

	* testsuite/ld-elf/pr21233-l.sd: Accept OBJECT for type and
	PRC for section of symbols.
	* testsuite/ld-elf/pr23591.d: Likewise.
	* testsuite/ld-elf/provide-hidden-s.nd: Likewise.
	* testsuite/ld-mips-elf/start.s: Make symbols function type.
	* testsuite/ld-mips-elf/hash2.d: Adjust.  Don't xfail irix.
This commit is contained in:
Alan Modra 2019-12-17 17:46:04 +10:30
parent 5b660084e2
commit 260bcd09bf
6 changed files with 26 additions and 13 deletions

View File

@ -1,3 +1,12 @@
2019-12-17 Alan Modra <amodra@gmail.com>
* testsuite/ld-elf/pr21233-l.sd: Accept OBJECT for type and
PRC for section of symbols.
* testsuite/ld-elf/pr23591.d: Likewise.
* testsuite/ld-elf/provide-hidden-s.nd: Likewise.
* testsuite/ld-mips-elf/start.s: Make symbols function type.
* testsuite/ld-mips-elf/hash2.d: Adjust. Don't xfail irix.
2019-12-17 Alan Modra <amodra@gmail.com> 2019-12-17 Alan Modra <amodra@gmail.com>
* emulparams/tic80coff.sh: Delete file. * emulparams/tic80coff.sh: Delete file.

View File

@ -2,5 +2,5 @@
# Num: Value Size Type Bind Vis Ndx Name # Num: Value Size Type Bind Vis Ndx Name
# 1: 00000000 1 OBJECT GLOBAL DEFAULT 5 bar # 1: 00000000 1 OBJECT GLOBAL DEFAULT 5 bar
#... #...
*[0-9]+: +[0-9a-f]+ +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +bar *[0-9]+: +[0-9a-f]+ +1 +OBJECT +GLOBAL +DEFAULT +([0-9]+|PRC\[0xff02\]) +bar
#pass #pass

View File

@ -8,5 +8,5 @@
# relocations in read-only sections. # relocations in read-only sections.
#... #...
+[0-9]+: +[a-f0-9]+ +0 +NOTYPE +(GLOBAL +HIDDEN|LOCAL +DEFAULT) +[0-9]+ +___?start___sancov_cntrs +[0-9]+: +[a-f0-9]+ +0 +(NOTYPE|OBJECT) +(GLOBAL +HIDDEN|LOCAL +DEFAULT) +[0-9]+ +___?start___sancov_cntrs
#pass #pass

View File

@ -1,8 +1,8 @@
Symbol table '\.dynsym' contains [0-9]+ entries: Symbol table '\.dynsym' contains [0-9]+ entries:
#... #...
*[0-9]+: 0*12300000 +0 (?:NOTYPE|OBJECT) +GLOBAL +DEFAULT +[0-9]+ foo *[0-9]+: 0*12300000 +0 (?:NOTYPE|OBJECT) +GLOBAL +DEFAULT +([0-9]+|PRC\[0xff02\]) foo
#... #...
Symbol table '\.symtab' contains [0-9]+ entries: Symbol table '\.symtab' contains [0-9]+ entries:
#... #...
*[0-9]+: 0*12300000 +0 (?:NOTYPE|OBJECT) +GLOBAL +DEFAULT +[0-9]+ foo *[0-9]+: 0*12300000 +0 (?:NOTYPE|OBJECT) +GLOBAL +DEFAULT +([0-9]+|PRC\[0xff02\]) foo
#pass #pass

View File

@ -2,16 +2,15 @@
#readelf: -d -s -D #readelf: -d -s -D
#ld: -shared --hash-style=gnu #ld: -shared --hash-style=gnu
#target: [check_shared_lib_support] #target: [check_shared_lib_support]
#xfail: mips*-*-irix*
#... #...
+0x[0-9a-z]+ +\(MIPS_XHASH\) +0x[0-9a-z]+ +0x[0-9a-z]+ +\(MIPS_XHASH\) +0x[0-9a-z]+
#... #...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] _start +[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) _start
#... #...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] main +[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) main
#... #...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] start +[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) start
#... #...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] __start +[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) __start
#... #...

View File

@ -1,12 +1,17 @@
.text .text
.globl start .globl start
.type start, @function
start: start:
.globl _start .globl _start
.type _start, @function
_start: _start:
.globl __start .globl __start
.type __start, @function
__start: __start:
.globl main .globl main
.type main, @function
main: main:
.globl _main .globl _main
.type _main, @function
_main: _main:
.dc.a 0 .dc.a 0