Missing ChangeLog entry from commit 60ef20e28534cf093d5bd799b3830c68381bb27f.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-mips-elf / compressed-plt-1.s
CommitLineData
690f47bf
RS
1 .macro call_stub, name
2 .set push
3 .set nomips16
4 .section .mips16.call.\name, "ax", @progbits
5 .ent __call_stub_\name
6 .type __call_stub_\name, @function
7__call_stub_\name:
8 la $25, \name
9 jr $25
10 .set pop
11 .endm
12
13 # Flags to specify how a particular function is referenced
14
15 .equ DC, 1 # Direct call from "compressed" code
16 .equ IC, 2 # Indirect call from "compressed" code
17 .equ DU, 4 # Direct call from "uncompressed" code
18 .equ IU, 8 # Indirect call from "uncompressed" code
19 .equ LO, 16 # Direct address reference (%lo)
20
21 # A wrapper around a macro called test_one, which is defined by
22 # the file that includes this one. NAME is the name of a function
23 # that is referenced in the way described by FLAGS, an inclusive OR
24 # of the flags above. The wrapper filters out any functions whose
25 # FLAGS are not a subset of FILTER.
26
27 .macro test_filter, name, flags
28 .if (\flags & filter) == \flags
29 test_one \name, \flags
30 .endif
31 .endm
32
33 .macro test_all_dc, name, flags
34 test_filter \name, \flags
35 test_filter \name\()_dc, (\flags | DC)
36 .endm
37
38 .macro test_all_ic, name, flags
39 test_all_dc \name, \flags
40 test_all_dc \name\()_ic, (\flags | IC)
41 .endm
42
43 .macro test_all_du, name, flags
44 test_all_ic \name, \flags
45 test_all_ic \name\()_du, (\flags | DU)
46 .endm
47
48 .macro test_all_iu, name, flags
49 test_all_du \name, \flags
50 test_all_du \name\()_iu, (\flags | IU)
51 .endm
52
53 .macro test_all_lo, name, flags
54 test_all_iu \name, \flags
55 test_all_iu \name\()_lo, (\flags | LO)
56 .endm
57
58 # Test all the combinations of interest.
59
60 .macro test_all
61 test_all_lo f, 0
62 .endm
This page took 0.037686 seconds and 4 git commands to generate.