[PATCH 2/2] MIPS: Compressed PLT/stubs support test cases

Maciej W. Rozycki
2013-02-19T20:45:28Z

[-- Attachment #1: Type: text/plain, Size: 18734 bytes --]

Hi,

Not much to say here, except that it's a huge pile of stuff. ;)

I believe that the selection of samples I made is representative for the
functionality covered. It certainly proved itself in that it revealed a
number of corner-case problems that I have either addressed with separate
patches already posted to cover individual issues or by adjusting the
compressed PLT/stubs support change itself. Which is also why I'm making
this submission now rather than a fortnight ago as I originally expected.

I realise this piece is extensive, which is why I have designed this test
case subset with long-term maintainability in mind. Therefore the
mips-elf.exp part is relatively simple (for a reasonable definition of
"simple"), in that it's a loop over 16 cases tested for various o32
configurations. The selection of sources chosen for these tests is meant
to cover various internal paths of code being examined, it is meant to be
exhaustive. There is some redundancy however, for example for lazy
binding stubs some of these individual tests add no value.

I have decided however, that it will be easier to maintain this uniform
set of selections rather than having more individual tests prepared for
each of the individual configuration covered. This is also why I decided
there's less harm from some sources being assembled multiple times (i.e.
some performance hit with testsuite runs) than gain from having the
individual test cases self-contained.

Similarly, there's a smaller loop for NewABI tests that just have 2 cases
to verify compressed code does not sneak into PLT there and check lazy
stubs at the same time. The tests may be merged back into the loop used
for o32 configurations if support for compressed PLT is ever added for
NewABIs, except that currently we have some restrictions on what MIPS16
code we can produce for the NewABIs due to missing relocations. I had to
address it already in one of the MIPS16 cases where the corresponding
standard MIPS and microMIPS code uses the DLA macro, but there's no
equivalent, perhaps using the %higher and %highest operators, in the
MIPS16 mode.

Now the good side of this approach is the dumps are easy to maintain.
Assuming a legitimate regression occurs in the future because of a change
in functionality, then the testsuite can simply be run to produce all the
binaries required and failures ignored. Then dumps can be easily updated
with a script and differences examined for correctness.

I can post the script I used (although it's a bit rough) -- I don't
suppose anybody might have even briefly thought I produced these dumps
manually. ;) I did review the results to match expectations though (and
actually adjusted code accordingly in a couple cases till they matched).

Comments are welcome, as usually, and I hope this is OK once the change
proper goes in; this part isn't supposed to change as the test patterns
are meant to serve as a conformance check.

Apologies about the ChangeLog entry. ;)

2013-02-19 Maciej W. Rozycki <macro@codesourcery.com>

ld/testsuite/
* ld-mips-elf/mixed-dyn-aux-micromips.dd: New test.
* ld-mips-elf/mixed-dyn-aux-micromips.nd: New test.
* ld-mips-elf/mixed-dyn-aux-mips.dd: New test.
* ld-mips-elf/mixed-dyn-aux-mips.nd: New test.
* ld-mips-elf/mixed-dyn-aux-mips16.dd: New test.
* ld-mips-elf/mixed-dyn-aux-mips16.nd: New test.
* ld-mips-elf/mixed-dyn-aux-n32-mips.dd: New test.
* ld-mips-elf/mixed-dyn-aux-n32-mips.nd: New test.
* ld-mips-elf/mixed-dyn-aux-n64-mips.dd: New test.
* ld-mips-elf/mixed-dyn-aux-n64-mips.nd: New test.
* ld-mips-elf/mixed-dyn-n32-pic-cmm-cmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-n32-pic-cmm-cmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-n32-pic-cst-cst-cst-st.dd: New test.
* ld-mips-elf/mixed-dyn-n32-pic-cst-cst-cst-st.nd: New test.
* ld-mips-elf/mixed-dyn-n32-plt-c16-c16-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-n32-plt-c16-c16-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-n32-plt-cmm-cmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-n32-plt-cmm-cmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-n64-pic-cmm-cmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-n64-pic-cmm-cmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-n64-pic-cst-cst-cst-st.dd: New test.
* ld-mips-elf/mixed-dyn-n64-pic-cst-cst-cst-st.nd: New test.
* ld-mips-elf/mixed-dyn-n64-plt-c16-c16-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-n64-plt-c16-c16-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-n64-plt-cmm-cmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-n64-plt-cmm-cmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-c16-c16-c16-16.dd: New test.
* ld-mips-elf/mixed-dyn-pic-c16-c16-c16-16.nd: New test.
* ld-mips-elf/mixed-dyn-pic-c16-cst-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-c16-cst-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cmm-cmm-cmm-mm.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cmm-cmm-cmm-mm.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cmm-cst-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cmm-cst-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-c16-cst-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-c16-cst-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-cst-16.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-cst-16.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-cst-c16-cst-c16-16.dd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-cst-c16-cst-c16-16.nd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-cst-cst-c16-16.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-c16-cst-cst-c16-16.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cmm-cst-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cmm-cst-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cst-cmm-cst-cmm-mm.dd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cst-cmm-cst-cmm-mm.nd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cst-cst-cmm-mm.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cst-cst-cmm-mm.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cst-mm.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cmm-cst-mm.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cst-c16-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cst-c16-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cst-cmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cst-cmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cst-cst-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-cst-cst-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-c16-dst-c16-dst-cst-d16-c16-dst-st.dd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-c16-dst-c16-dst-cst-d16-c16-dst-st.nd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-c16-dst-c16-dst-cst-d16-c16-dst-st.xd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-c16-dst-cst-d16-16.dd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-c16-dst-cst-d16-16.nd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-c16-dst-cst-d16-16.xd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-dst-cst-d16-16.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-dst-cst-d16-16.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-d16-dst-cst-d16-16.xd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-cmm-dst-cmm-dst-cst-dmm-cmm-dst-st.dd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-cmm-dst-cmm-dst-cst-dmm-cmm-dst-st.nd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-cmm-dst-cmm-dst-cst-dmm-cmm-dst-st.xd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-cmm-dst-cst-dmm-mm.dd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-cmm-dst-cst-dmm-mm.nd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-cmm-dst-cst-dmm-mm.xd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-dst-cst-dmm-mm.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-dst-cst-dmm-mm.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dmm-dst-cst-dmm-mm.xd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-c16-d16-cst-dst-c16-d16-cst-dst-c16-d16-16.dd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-c16-d16-cst-dst-c16-d16-cst-dst-c16-d16-16.nd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-c16-d16-cst-dst-c16-d16-cst-dst-c16-d16-16.xd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-cmm-dmm-cst-dst-cmm-dmm-cst-dst-cmm-dmm-mm.dd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-cmm-dmm-cst-dst-cmm-dmm-cst-dst-cmm-dmm-mm.nd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-cmm-dmm-cst-dst-cmm-dmm-cst-dst-cmm-dmm-mm.xd:
New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-cst-dst-cst-dst-st.dd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-cst-dst-cst-dst-st.nd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-cst-dst-cst-dst-st.xd: New
test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-d16-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-d16-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-d16-c16-st.xd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-dmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-dmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-cst-dst-dmm-cmm-st.xd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-d16-dst-16.dd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-d16-dst-16.nd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-d16-dst-16.xd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-dmm-dst-mm.dd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-dmm-dst-mm.nd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-dmm-dst-mm.xd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-dst-dst-st.dd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-dst-dst-st.nd: New test.
* ld-mips-elf/mixed-dyn-pic-dst-dst-dst-st.xd: New test.
* ld-mips-elf/mixed-dyn-plt-c16-c16-c16-16.dd: New test.
* ld-mips-elf/mixed-dyn-plt-c16-c16-c16-16.nd: New test.
* ld-mips-elf/mixed-dyn-plt-c16-cst-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-c16-cst-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cmm-cmm-cmm-mm.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cmm-cmm-cmm-mm.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cmm-cst-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cmm-cst-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-c16-cst-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-c16-cst-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-cst-16.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-cst-16.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-cst-c16-cst-c16-16.dd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-cst-c16-cst-c16-16.nd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-cst-cst-c16-16.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-c16-cst-cst-c16-16.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cmm-cst-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cmm-cst-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cst-cmm-cst-cmm-mm.dd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cst-cmm-cst-cmm-mm.nd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cst-cst-cmm-mm.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cst-cst-cmm-mm.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cst-mm.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cmm-cst-mm.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cst-c16-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cst-c16-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cst-cmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cst-cmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cst-cst-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-cst-cst-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-c16-dst-c16-dst-cst-d16-c16-dst-st.dd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-c16-dst-c16-dst-cst-d16-c16-dst-st.nd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-c16-dst-c16-dst-cst-d16-c16-dst-st.xd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-c16-dst-cst-d16-16.dd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-c16-dst-cst-d16-16.nd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-c16-dst-cst-d16-16.xd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-dst-cst-d16-16.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-dst-cst-d16-16.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-d16-dst-cst-d16-16.xd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-cmm-dst-cmm-dst-cst-dmm-cmm-dst-st.dd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-cmm-dst-cmm-dst-cst-dmm-cmm-dst-st.nd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-cmm-dst-cmm-dst-cst-dmm-cmm-dst-st.xd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-cmm-dst-cst-dmm-mm.dd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-cmm-dst-cst-dmm-mm.nd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-cmm-dst-cst-dmm-mm.xd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-dst-cst-dmm-mm.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-dst-cst-dmm-mm.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dmm-dst-cst-dmm-mm.xd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-c16-d16-cst-dst-c16-d16-cst-dst-c16-d16-16.dd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-c16-d16-cst-dst-c16-d16-cst-dst-c16-d16-16.nd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-c16-d16-cst-dst-c16-d16-cst-dst-c16-d16-16.xd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-cmm-dmm-cst-dst-cmm-dmm-cst-dst-cmm-dmm-mm.dd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-cmm-dmm-cst-dst-cmm-dmm-cst-dst-cmm-dmm-mm.nd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-cmm-dmm-cst-dst-cmm-dmm-cst-dst-cmm-dmm-mm.xd:
New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-cst-dst-cst-dst-st.dd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-cst-dst-cst-dst-st.nd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-cst-dst-cst-dst-st.xd: New
test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-d16-c16-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-d16-c16-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-d16-c16-st.xd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-dmm-cmm-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-dmm-cmm-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-cst-dst-dmm-cmm-st.xd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-d16-dst-16.dd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-d16-dst-16.nd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-d16-dst-16.xd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-dmm-dst-mm.dd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-dmm-dst-mm.nd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-dmm-dst-mm.xd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-dst-dst-st.dd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-dst-dst-st.nd: New test.
* ld-mips-elf/mixed-dyn-plt-dst-dst-dst-st.xd: New test.
* ld-mips-elf/mixed-dyn-aux-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-aux-mips.s: New test source.
* ld-mips-elf/mixed-dyn-aux-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-call-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-call-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-call-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-call-n32-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-pic-1-call-n32-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-call-n64-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-pic-1-call-n64-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-data-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-data-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-1-data-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-call-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-call-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-call-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-call-n32-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-pic-2-call-n32-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-call-n64-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-pic-2-call-n64-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-data-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-data-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-2-data-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-call-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-call-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-call-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-call-n32-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-pic-3-call-n32-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-call-n64-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-pic-3-call-n64-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-data-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-data-mips.s: New test source.
* ld-mips-elf/mixed-dyn-pic-3-data-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-call-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-call-mips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-call-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-call-n32-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-plt-1-call-n32-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-call-n64-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-plt-1-call-n64-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-data-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-data-mips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-1-data-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-call-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-call-mips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-call-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-call-n32-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-plt-2-call-n32-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-call-n64-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-plt-2-call-n64-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-data-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-data-mips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-2-data-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-call-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-call-mips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-call-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-call-n32-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-plt-3-call-n32-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-call-n64-micromips.s: New test
source.
* ld-mips-elf/mixed-dyn-plt-3-call-n64-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-data-micromips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-data-mips.s: New test source.
* ld-mips-elf/mixed-dyn-plt-3-data-mips16.s: New test source.
* ld-mips-elf/mixed-dyn-pic.ld: New test linker script.
* ld-mips-elf/mixed-dyn-plt.ld: New test linker script.
* ld-mips-elf/mips-elf.exp: Run the new tests.

Maciej

binutils-umips16-plt-stubs-test.diff
[Patch attached compressed due to its size.]

[-- Attachment #2: Type: application/octet-stream, Size: 22126 bytes --]