1 ! Test that .cranges are emitted:
2 ! 1) Not for sections with single contents.
3 ! 2) For data (through pseudo-ops) in SHmedia.
4 ! 3) For mixed SHcompact and SHmedia sections.
5 ! 4) For a mix of 2 and 3
8 ! Use section contents that need relaxing to strengthen the check that the
9 ! .cranges implementation handles this correctly. Use different sizes for
13 ! The .text section has only SHmedia contents, and should not get a
14 ! .cranges descriptor.
20 movi shmediaend-shmedia,r46
24 ! Likewise the SHcompact section.
26 .section .text.compact,"ax"
35 ! This section has SHmedia code followed by data. There should be two
36 ! .cranges descriptors. Note that we put the .mode directive *after* the
37 ! section change. It should not matter.
38 .section .text.shmediaanddata,"ax"
42 movi shmedia_data_code_end-shmedia_data_code,r46
43 shmedia_data_code_end:
45 .long shmedia_dataend-shmedia_data_code
49 ! This section mixes SHcompact and SHmedia code. There should be two
50 ! .cranges descriptors.
51 .section .text.codemix,"ax"
56 movi shmedia_compact_code_end-shmedia_compact_code,r46
59 shmedia_compact_code_end:
72 ! This section mixes SHcompact and SHmedia code, and has a constant
73 ! section after the SHmedia code and one after the SHcompact code. There
74 ! should be three or four .cranges descriptors, depending on whether one
75 ! is emitted for the SHcompact constant pool: there's normally one such
76 ! after each SHcompact function.
78 .section .text.codemixconst,"ax"
80 shmedia_compact_code2:
84 movi shmedia_compact_code_end2-shmedia_compact_code2,r46
95 .long mediapoollabel2-shmedia_compact_code2
97 shmedia_compact_code_end2:
114 .long mediapoolend2-compact2
117 ! This section is like the previous, but repeated twice and adjusted to
118 ! keep different sizes of each part.
120 .section .text.codemixconst2,"ax"
122 shmedia_compact_code3:
130 movi shmedia_compact_code_end3-shmedia_compact_code3,r46
141 .long mediapoollabel3a-shmedia_compact_code3
143 shmedia_compact_code_end3:
164 .long mediapoolend3-compact3
168 shmedia_compact_code4:
178 movi shmedia_compact_code_end4-shmedia_compact_code4,r46
182 .long mediapoolend4a-shmedia_compact_code4
184 shmedia_compact_code_end4:
209 .long mediapoolend4-compact4