From: YunQiang Su Date: Wed, 15 Nov 2023 10:57:48 +0000 (+0000) Subject: MIPS: Fix Irix gas testcases about pdr section X-Git-Tag: binutils-2_42~959 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=42fb2f0b0978305e218a9493cde92447583771f1;p=thirdparty%2Fbinutils-gdb.git MIPS: Fix Irix gas testcases about pdr section * testsuite/gas/elf/elf.exp (section2): Add -mpdr option to assembler command line for mips-irix targets. * testsuite/gas/mips/elf-rel26.d: Add -mpdr command line option. * testsuite/gas/mips/mips16-e.d: Likewise. * testsuite/gas/mips/mips16-f.d: Likewise. * testsuite/gas/mips/mips16-hilo-match.d: Likewise. * testsuite/gas/mips/mips16-e-irix.d: Likewise. * testsuite/gas/mips/call-nonpic-1.d: Adjust regexp to allow for mips-irix targets. * testsuite/gas/mips/irix-no-pdr.d: New test file. * testsuite/gas/mips/mips.exp: Run new test for mips-irix targets. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 230a4a73039..61d3e3ae940 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,18 @@ +2023-11-15 YunQiang Su + + * testsuite/gas/elf/elf.exp (section2): Add -mpdr option to + assembler command line for mips-irix targets. + * testsuite/gas/mips/elf-rel26.d: Add -mpdr command line option. + * testsuite/gas/mips/mips16-e.d: Likewise. + * testsuite/gas/mips/mips16-f.d: Likewise. + * testsuite/gas/mips/mips16-hilo-match.d: Likewise. + * testsuite/gas/mips/mips16-e-irix.d: Likewise. + * testsuite/gas/mips/call-nonpic-1.d: Adjust regexp to allow for + mips-irix targets. + * testsuite/gas/mips/irix-no-pdr.d: New test file. + * testsuite/gas/mips/mips.exp: Run new test for mips-irix + targets. + 2023-10-30 Jose E. Marchesi * testsuite/gas/bpf/alu-pseudoc.s: Add test to make sure C-like diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index c42cef8160e..d85fdddc841 100644 --- a/gas/testsuite/gas/elf/elf.exp +++ b/gas/testsuite/gas/elf/elf.exp @@ -208,6 +208,10 @@ if { [is_elf_format] } then { riscv*-*-* { set as_flags "$as_flags -march-attr" } + mips*-*-irix* { + # Irix has no pdr section by default. + set as_flags "$as_flags -mpdr" + } } run_elf_list_test "section2" "$target_machine" "$as_flags" "-s" "" } diff --git a/gas/testsuite/gas/mips/call-nonpic-1.d b/gas/testsuite/gas/mips/call-nonpic-1.d index cd1b4423445..9d772e0b4e9 100644 --- a/gas/testsuite/gas/mips/call-nonpic-1.d +++ b/gas/testsuite/gas/mips/call-nonpic-1.d @@ -2,7 +2,7 @@ #objdump: -pdr .* -private flags = 10001004: .* +private flags = 1000.004: .* MIPS ABI Flags Version: 0 diff --git a/gas/testsuite/gas/mips/elf-rel26.d b/gas/testsuite/gas/mips/elf-rel26.d index aeb4e16d178..71fbe83d4b6 100644 --- a/gas/testsuite/gas/mips/elf-rel26.d +++ b/gas/testsuite/gas/mips/elf-rel26.d @@ -1,4 +1,4 @@ -#as: -mips32 -32 -EL -KPIC +#as: -mips32 -32 -EL -KPIC -mpdr #readelf: --relocs #name: MIPS ELF reloc 26 diff --git a/gas/testsuite/gas/mips/irix-no-pdr.d b/gas/testsuite/gas/mips/irix-no-pdr.d new file mode 100644 index 00000000000..7268e020c9f --- /dev/null +++ b/gas/testsuite/gas/mips/irix-no-pdr.d @@ -0,0 +1,8 @@ +#objdump: -rst +#name: Irix has no .pdr section +#as: -32 -mips32 +#source: sync.s + +#failif +.*\.pdr.* +#pass diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 86753e57b79..dd52d5a9a67 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -2168,4 +2168,10 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "global-local-symtab-sort-n32${tmips}" run_dump_test "global-local-symtab-sort-n64${tmips}" } + + # Gas doesn't generate .pdr section for Irix objects by default. + # See `int mips_flag_pdr` in tc-mips.c. + if [istarget *-*-irix*] { + run_dump_test "irix-no-pdr" + } } diff --git a/gas/testsuite/gas/mips/mips16-e-irix.d b/gas/testsuite/gas/mips/mips16-e-irix.d index 52459cb97f7..6070bc71c09 100644 --- a/gas/testsuite/gas/mips/mips16-e-irix.d +++ b/gas/testsuite/gas/mips/mips16-e-irix.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 +#as: -32 -mips16 -mpdr #source: mips16-e.s # The Irix 5 and 6 assemblers set the type of any common symbol and @@ -21,7 +21,7 @@ SYMBOL TABLE: 0+0000000 l d \.(mdebug|pdr) 0+0000000 \.mdebug|\.pdr 0+0000000 l d \.gnu\.attributes 0+0000000 \.gnu\.attributes 0+0000002 l \.text 0+0000000 0xf0 l1 -0+0000004 l \.text 0+0000000 0xf0 \.L11 +0+0000004 l \.text 0+0000000 0xf0 \.L.* 0+0000000 O \*UND\* 0+0000000 g1 diff --git a/gas/testsuite/gas/mips/mips16-e.d b/gas/testsuite/gas/mips/mips16-e.d index d64b882c81c..0f954e8e25c 100644 --- a/gas/testsuite/gas/mips/mips16-e.d +++ b/gas/testsuite/gas/mips/mips16-e.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 +#as: -32 -mips16 -mips1 -mpdr # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mips16-f.d b/gas/testsuite/gas/mips/mips16-f.d index 9605b6f183e..0ed246cfbba 100644 --- a/gas/testsuite/gas/mips/mips16-f.d +++ b/gas/testsuite/gas/mips/mips16-f.d @@ -1,6 +1,6 @@ #objdump: -rst -mips16 #name: MIPS16 reloc 2 -#as: -32 -mips16 +#as: -32 -mips16 -mips32 -mpdr # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mips16-hilo-match.d b/gas/testsuite/gas/mips/mips16-hilo-match.d index 76ad7b39cdd..7b42f6946c1 100644 --- a/gas/testsuite/gas/mips/mips16-hilo-match.d +++ b/gas/testsuite/gas/mips/mips16-hilo-match.d @@ -1,5 +1,5 @@ #objdump: -r -#as: -mabi=32 -march=mips1 +#as: -mabi=32 -march=mips1 -mpdr #name: MIPS16 mips16-hilo-match .*: +file format .*mips.*