mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +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.
10 lines
566 B
Plaintext
10 lines
566 B
Plaintext
Symbol table '\.dynsym' contains 7 entries:
|
|
Num: Value Size Type Bind Vis Ndx Name
|
|
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
|
|
1: 00000000 0 SECTION GLOBAL PROTECTED ABS _procedure_table_size
|
|
2: 00000000 0 SECTION GLOBAL PROTECTED PRC\[0xff02\] _procedure_string_table
|
|
3: 0000020. 4. FUNC GLOBAL DEFAULT PRC\[0xff01\] foo
|
|
4: 00000000 0 SECTION GLOBAL PROTECTED PRC\[0xff02\] _procedure_table
|
|
5: 00000000 0 FUNC WEAK DEFAULT UND fun
|
|
6: 00000000 0 OBJECT WEAK DEFAULT UND obj
|