mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-18 14:53:32 +08:00
982d0151e9
Define a new procedure, `run_mips_undefweak_test', and use it to iterate over several scenarios involving undefined weak symbols resolving to zero, verifying expected regular MIPS, MIPS16 and microMIPS code, GOT and dynamic symbol table generation, as well as the setting of the EI_ABIVERSION field in the ELF file header. In particular ensure that symbol versioning works and that `__gnu_absolute_zero' gets assigned a version (any will do) even if it has not been listed for exportation in a linker version script. ld/ PR ld/21375 * testsuite/ld-mips-elf/pr21375-abi.hd: New test. * testsuite/ld-mips-elf/pr21375-noabi.hd: New test. * testsuite/ld-mips-elf/pr21375.dd: New test. * testsuite/ld-mips-elf/pr21375h.dd: New test. * testsuite/ld-mips-elf/pr21375p.dd: New test. * testsuite/ld-mips-elf/pr21375ph.dd: New test. * testsuite/ld-mips-elf/pr21375s.dd: New test. * testsuite/ld-mips-elf/pr21375s-n32.dd: New test. * testsuite/ld-mips-elf/pr21375s-n64.dd: New test. * testsuite/ld-mips-elf/pr21375sh.dd: New test. * testsuite/ld-mips-elf/pr21375sh-n32.dd: New test. * testsuite/ld-mips-elf/pr21375sh-n64.dd: New test. * testsuite/ld-mips-elf/pr21375shg.dd: New test. * testsuite/ld-mips-elf/pr21375sx.dd: New test. * testsuite/ld-mips-elf/pr21375sxh.dd: New test. * testsuite/ld-mips-elf/pr21375sm16.dd: New test. * testsuite/ld-mips-elf/pr21375sm16h.dd: New test. * testsuite/ld-mips-elf/pr21375su.dd: New test. * testsuite/ld-mips-elf/pr21375su-n32.dd: New test. * testsuite/ld-mips-elf/pr21375su-n64.dd: New test. * testsuite/ld-mips-elf/pr21375suh.dd: New test. * testsuite/ld-mips-elf/pr21375suh-n32.dd: New test. * testsuite/ld-mips-elf/pr21375suh-n64.dd: New test. * testsuite/ld-mips-elf/pr21375sux.dd: New test. * testsuite/ld-mips-elf/pr21375suxh.dd: New test. * testsuite/ld-mips-elf/pr21375.gd: New test. * testsuite/ld-mips-elf/pr21375h.gd: New test. * testsuite/ld-mips-elf/pr21375p.gd: New test. * testsuite/ld-mips-elf/pr21375ph.gd: New test. * testsuite/ld-mips-elf/pr21375s.gd: New test. * testsuite/ld-mips-elf/pr21375s-n32.gd: New test. * testsuite/ld-mips-elf/pr21375s-n64.gd: New test. * testsuite/ld-mips-elf/pr21375sh.gd: New test. * testsuite/ld-mips-elf/pr21375sh-n32.gd: New test. * testsuite/ld-mips-elf/pr21375sh-n64.gd: New test. * testsuite/ld-mips-elf/pr21375shg.gd: New test. * testsuite/ld-mips-elf/pr21375shl.gd: New test. * testsuite/ld-mips-elf/pr21375shv.gd: New test. * testsuite/ld-mips-elf/pr21375sx.gd: New test. * testsuite/ld-mips-elf/pr21375sxh.gd: New test. * testsuite/ld-mips-elf/pr21375.sd: New test. * testsuite/ld-mips-elf/pr21375-irix.sd: New test. * testsuite/ld-mips-elf/pr21375h.sd: New test. * testsuite/ld-mips-elf/pr21375h-irix.sd: New test. * testsuite/ld-mips-elf/pr21375p.sd: New test. * testsuite/ld-mips-elf/pr21375p-irix.sd: New test. * testsuite/ld-mips-elf/pr21375ph.sd: New test. * testsuite/ld-mips-elf/pr21375ph-irix.sd: New test. * testsuite/ld-mips-elf/pr21375s.sd: New test. * testsuite/ld-mips-elf/pr21375s-irix.sd: New test. * testsuite/ld-mips-elf/pr21375s-n32.sd: New test. * testsuite/ld-mips-elf/pr21375s-n32-irix.sd: New test. * testsuite/ld-mips-elf/pr21375s-n64.sd: New test. * testsuite/ld-mips-elf/pr21375s-n64-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sh.sd: New test. * testsuite/ld-mips-elf/pr21375sh-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n32.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n32-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n64.sd: New test. * testsuite/ld-mips-elf/pr21375sh-n64-irix.sd: New test. * testsuite/ld-mips-elf/pr21375shg.sd: New test. * testsuite/ld-mips-elf/pr21375shg-irix.sd: New test. * testsuite/ld-mips-elf/pr21375shl.sd: New test. * testsuite/ld-mips-elf/pr21375shl-irix.sd: New test. * testsuite/ld-mips-elf/pr21375shv.sd: New test. * testsuite/ld-mips-elf/pr21375shv-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sx.sd: New test. * testsuite/ld-mips-elf/pr21375sx-irix.sd: New test. * testsuite/ld-mips-elf/pr21375sxh.sd: New test. * testsuite/ld-mips-elf/pr21375sxh-irix.sd: New test. * testsuite/ld-mips-elf/pr21375.ld: New test linker script. * testsuite/ld-mips-elf/pr21375-xgot.ld: New test linker script. * testsuite/ld-mips-elf/pr21375.ver: New test version script. * testsuite/ld-mips-elf/pr21375v.ver: New test version script. * testsuite/ld-mips-elf/pr21375.s: New test source. * testsuite/ld-mips-elf/pr21375-mips16.s: New test source. * testsuite/ld-mips-elf/pr21375-n32.s: New test source. * testsuite/ld-mips-elf/pr21375-n64.s: New test source. * testsuite/ld-mips-elf/pr21375-xgot.s: New test source. * testsuite/ld-mips-elf/mips-elf.exp (run_mips_undefweak_test): New procedure; run the new tests.
30 lines
864 B
Plaintext
30 lines
864 B
Plaintext
.*: +file format .*mips.*
|
|
|
|
Disassembly of section \.text:
|
|
|
|
[0-9a-f]+ <foo>:
|
|
*[0-9a-f]+: 0c04 move zero,a0
|
|
*[0-9a-f]+: 41a4 0001 lui a0,0x1
|
|
*[0-9a-f]+: 3084 806f addiu a0,a0,-32657
|
|
*[0-9a-f]+: 5b24 2150 daddu a0,a0,t9
|
|
*[0-9a-f]+: 3040 0000 li v0,0
|
|
*[0-9a-f]+: 3060 0000 li v1,0
|
|
*[0-9a-f]+: 5c42 0004 daddiu v0,v0,4
|
|
*[0-9a-f]+: 459f jr ra
|
|
*[0-9a-f]+: 5c63 0004 daddiu v1,v1,4
|
|
\.\.\.
|
|
|
|
[0-9a-f]+ <bar>:
|
|
*[0-9a-f]+: 0c04 move zero,a0
|
|
*[0-9a-f]+: 41a4 0001 lui a0,0x1
|
|
*[0-9a-f]+: 3084 802f addiu a0,a0,-32721
|
|
*[0-9a-f]+: 5b24 2150 daddu a0,a0,t9
|
|
*[0-9a-f]+: 5c24 8028 daddiu at,a0,-32728
|
|
*[0-9a-f]+: 6041 4000 ldl v0,0\(at\)
|
|
*[0-9a-f]+: 5c24 8028 daddiu at,a0,-32728
|
|
*[0-9a-f]+: 6061 5000 ldr v1,0\(at\)
|
|
*[0-9a-f]+: 5c42 0004 daddiu v0,v0,4
|
|
*[0-9a-f]+: 459f jr ra
|
|
*[0-9a-f]+: 5c63 0004 daddiu v1,v1,4
|
|
\.\.\.
|