MIPS/GAS/testsuite: Fix JALR relocation tests for IRIX targets
authorMaciej W. Rozycki <macro@linux-mips.org>
Wed, 22 Jul 2020 11:46:00 +0000 (12:46 +0100)
committerMaciej W. Rozycki <macro@linux-mips.org>
Wed, 22 Jul 2020 11:46:00 +0000 (12:46 +0100)
commit39fdda0744607575103b30ffbec3cdb99f8d2501
tree63f801427c7a99e7e8d1a8cf38025c7bbe44f4f4
parentb83d958fc7050bf990d7c24596b9dcdc130433a7
MIPS/GAS/testsuite: Fix JALR relocation tests for IRIX targets

With IRIX targets the JALR hint relocation is not produced for the o32
ABI, where it is considered a GNU extension.  Consequently several tests
fail as the output produced by GAS fails to match patterns expecting the
relocation to be present where appropriate, even though output produced
is indeed correct.

As the absence of the relocation is expected, fix the tests by providing
respective alternative dump patterns with any JALR relocations removed,
removing numerous failures with `*-*-irix*' targets:

FAIL: MIPS jal-svr4pic (interaptiv-mr2)
FAIL: MIPS jal-svr4pic (micromips)
FAIL: MIPS jal-svr4pic (mips1)
FAIL: MIPS jal-svr4pic (mips2)
FAIL: MIPS jal-svr4pic (mips3)
FAIL: MIPS jal-svr4pic (mips4)
FAIL: MIPS jal-svr4pic (mips5)
FAIL: MIPS jal-svr4pic (mips32)
FAIL: MIPS jal-svr4pic (mips32r2)
FAIL: MIPS jal-svr4pic (mips32r3)
FAIL: MIPS jal-svr4pic (mips32r5)
FAIL: MIPS jal-svr4pic (mips32r6)
FAIL: MIPS jal-svr4pic (mips64)
FAIL: MIPS jal-svr4pic (mips64r2)
FAIL: MIPS jal-svr4pic (mips64r3)
FAIL: MIPS jal-svr4pic (mips64r5)
FAIL: MIPS jal-svr4pic (mips64r6)
FAIL: MIPS jal-svr4pic (octeon)
FAIL: MIPS jal-svr4pic (octeon2)
FAIL: MIPS jal-svr4pic (octeon3)
FAIL: MIPS jal-svr4pic (octeonp)
FAIL: MIPS jal-svr4pic (r3000)
FAIL: MIPS jal-svr4pic (r3900)
FAIL: MIPS jal-svr4pic (r4000)
FAIL: MIPS jal-svr4pic (r5900)
FAIL: MIPS jal-svr4pic (sb1)
FAIL: MIPS jal-svr4pic (vr5400)
FAIL: MIPS jal-svr4pic (xlr)
FAIL: MIPS jal-svr4pic noreorder (interaptiv-mr2)
FAIL: MIPS jal-svr4pic noreorder (micromips)
FAIL: MIPS jal-svr4pic noreorder (mips1)
FAIL: MIPS jal-svr4pic noreorder (mips2)
FAIL: MIPS jal-svr4pic noreorder (mips3)
FAIL: MIPS jal-svr4pic noreorder (mips4)
FAIL: MIPS jal-svr4pic noreorder (mips5)
FAIL: MIPS jal-svr4pic noreorder (mips32)
FAIL: MIPS jal-svr4pic noreorder (mips32r2)
FAIL: MIPS jal-svr4pic noreorder (mips32r3)
FAIL: MIPS jal-svr4pic noreorder (mips32r5)
FAIL: MIPS jal-svr4pic noreorder (mips32r6)
FAIL: MIPS jal-svr4pic noreorder (mips64)
FAIL: MIPS jal-svr4pic noreorder (mips64r2)
FAIL: MIPS jal-svr4pic noreorder (mips64r3)
FAIL: MIPS jal-svr4pic noreorder (mips64r5)
FAIL: MIPS jal-svr4pic noreorder (mips64r6)
FAIL: MIPS jal-svr4pic noreorder (octeon)
FAIL: MIPS jal-svr4pic noreorder (octeon2)
FAIL: MIPS jal-svr4pic noreorder (octeon3)
FAIL: MIPS jal-svr4pic noreorder (octeonp)
FAIL: MIPS jal-svr4pic noreorder (r3000)
FAIL: MIPS jal-svr4pic noreorder (r3900)
FAIL: MIPS jal-svr4pic noreorder (r4000)
FAIL: MIPS jal-svr4pic noreorder (r5900)
FAIL: MIPS jal-svr4pic noreorder (sb1)
FAIL: MIPS jal-svr4pic noreorder (vr5400)
FAIL: MIPS jal-svr4pic noreorder (xlr)
FAIL: MIPS R3000 jal-xgot
FAIL: MIPS -mabi=32 test 2 (SVR4 PIC)
FAIL: gas/mips/jalr2
FAIL: Relax microMIPS branches (pic)
FAIL: Relax microMIPS branches (insn32 mode, pic)

Strictly speaking no MIPSr6 or microMIPS target is supported by IRIX,
but GAS supports such configurations on the basis of uniformity, so
provide the relevant patterns too rather than excluding the combinations
from testing.

gas/
* testsuite/gas/mips/jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/mips1@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/mipsr6@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/micromips@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/r3000@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/jal-svr4pic-local-irix.d: New file.
* testsuite/gas/mips/mips1@jal-svr4pic-local-irix.d: New file.
* testsuite/gas/mips/micromips@jal-svr4pic-local-irix.d: New
file.
* testsuite/gas/mips/r3000@jal-svr4pic-local-irix.d: New file.
* testsuite/gas/mips/jal-svr4pic-noreorder-irix.d: New file.
* testsuite/gas/mips/mips1@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/micromips@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/r3000@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/jal-xgot-irix.d: New file.
* testsuite/gas/mips/jalr2-irix.d: New file.
* testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d:
New file.
* testsuite/gas/mips/micromips-branch-relax-pic-irix.d: New
file.
* testsuite/gas/mips/mips-abi32-pic2-irix.d: New file.
* testsuite/gas/mips/jal-svr4pic-local.d: Don't exclude
`*-*-irix*' targets.  Add source file designator.
* testsuite/gas/mips/mips1@jal-svr4pic-local.d: Don't exclude
`*-*-irix*' targets.
* testsuite/gas/mips/r3000@jal-svr4pic-local.d: Likewise.
* testsuite/gas/mips/micromips@jal-svr4pic-local.d: Likewise.
* testsuite/gas/mips/jalr2.d: Add name designator.
* testsuite/gas/mips/mips.exp: Use respective IRIX variants for
tests involving the JALR relocation throughout.
26 files changed:
gas/ChangeLog
gas/testsuite/gas/mips/jal-svr4pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/jal-svr4pic-local-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/jal-svr4pic-local.d
gas/testsuite/gas/mips/jal-svr4pic-noreorder-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/jal-xgot-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/jalr2-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/jalr2.d
gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/micromips-branch-relax-pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/micromips@jal-svr4pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/micromips@jal-svr4pic-local-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/micromips@jal-svr4pic-local.d
gas/testsuite/gas/mips/micromips@jal-svr4pic-noreorder-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips-abi32-pic2-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/mips1@jal-svr4pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips1@jal-svr4pic-local-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips1@jal-svr4pic-local.d
gas/testsuite/gas/mips/mips1@jal-svr4pic-noreorder-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/mipsr6@jal-svr4pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/r3000@jal-svr4pic-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/r3000@jal-svr4pic-local-irix.d [new file with mode: 0644]
gas/testsuite/gas/mips/r3000@jal-svr4pic-local.d
gas/testsuite/gas/mips/r3000@jal-svr4pic-noreorder-irix.d [new file with mode: 0644]