|
18 | 18 | # CHECK: Name Type Address Off Size ES Flg Lk Inf Al
|
19 | 19 | # CHECK-NEXT: NULL 0000000000000000 000000 000000 00 0 0 0
|
20 | 20 | # CHECK-NEXT: .note NOTE 0000000000200300 000300 000001 00 A 0 0 1
|
21 |
| -# CHECK-NEXT: .lrodata PROGBITS 0000000000200301 000301 000002 00 Al 0 0 1 |
22 |
| -# CHECK-NEXT: .rodata PROGBITS 0000000000200303 000303 000001 00 A 0 0 1 |
23 |
| -# CHECK-NEXT: .text PROGBITS 0000000000201304 000304 000001 00 AX 0 0 4 |
24 |
| -# CHECK-NEXT: .tdata PROGBITS 0000000000202305 000305 000001 00 WAT 0 0 1 |
25 |
| -# CHECK-NEXT: .tbss NOBITS 0000000000202306 000306 000002 00 WAT 0 0 1 |
26 |
| -# CHECK-NEXT: .relro_padding NOBITS 0000000000202306 000306 000cfa 00 WA 0 0 1 |
27 |
| -# CHECK-NEXT: .data PROGBITS 0000000000203306 000306 000001 00 WA 0 0 1 |
28 |
| -# CHECK-NEXT: .bss NOBITS 0000000000203307 000307 001800 00 WA 0 0 1 |
| 21 | +# CHECK-NEXT: .ltext PROGBITS 0000000000201301 000301 000001 00 AXl 0 0 1 |
| 22 | +# CHECK-NEXT: .lrodata PROGBITS 0000000000202302 000302 000002 00 Al 0 0 1 |
| 23 | +# CHECK-NEXT: .rodata PROGBITS 0000000000202304 000304 000001 00 A 0 0 1 |
| 24 | +# CHECK-NEXT: .text PROGBITS 0000000000203308 000308 000001 00 AX 0 0 4 |
| 25 | +# CHECK-NEXT: .tdata PROGBITS 0000000000204309 000309 000001 00 WAT 0 0 1 |
| 26 | +# CHECK-NEXT: .tbss NOBITS 000000000020430a 00030a 000002 00 WAT 0 0 1 |
| 27 | +# CHECK-NEXT: .relro_padding NOBITS 000000000020430a 00030a 000cf6 00 WA 0 0 1 |
| 28 | +# CHECK-NEXT: .data PROGBITS 000000000020530a 00030a 000001 00 WA 0 0 1 |
| 29 | +# CHECK-NEXT: .bss NOBITS 000000000020530b 00030b 001800 00 WA 0 0 1 |
29 | 30 | ## We spend size(.bss) % MAXPAGESIZE bytes for .bss.
|
30 |
| -# CHECK-NEXT: .ldata PROGBITS 0000000000205b07 000b07 000002 00 WAl 0 0 1 |
31 |
| -# CHECK-NEXT: .ldata2 PROGBITS 0000000000205b09 000b09 000001 00 WAl 0 0 1 |
32 |
| -# CHECK-NEXT: .lbss NOBITS 0000000000205b0a 000b0a 000002 00 WAl 0 0 1 |
33 |
| -# CHECK-NEXT: .comment PROGBITS 0000000000000000 000b0a {{.*}} 01 MS 0 0 1 |
| 31 | +# CHECK-NEXT: .ldata PROGBITS 0000000000207b0b 000b0b 000002 00 WAl 0 0 1 |
| 32 | +# CHECK-NEXT: .ldata2 PROGBITS 0000000000207b0d 000b0d 000001 00 WAl 0 0 1 |
| 33 | +# CHECK-NEXT: .lbss NOBITS 0000000000207b0e 000b0e 000002 00 WAl 0 0 1 |
| 34 | +# CHECK-NEXT: .comment PROGBITS 0000000000000000 000b0e {{.*}} 01 MS 0 0 1 |
34 | 35 |
|
35 | 36 | # CHECK: Program Headers:
|
36 | 37 | # CHECK-NEXT: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
|
37 | 38 | # CHECK-NEXT: PHDR 0x000040 0x0000000000200040 0x0000000000200040 {{.*}} {{.*}} R 0x8
|
38 |
| -# CHECK-NEXT: LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000304 0x000304 R 0x1000 |
39 |
| -# CHECK-NEXT: LOAD 0x000304 0x0000000000201304 0x0000000000201304 0x000001 0x000001 R E 0x1000 |
40 |
| -# CHECK-NEXT: LOAD 0x000305 0x0000000000202305 0x0000000000202305 0x000001 0x000cfb RW 0x1000 |
41 |
| -# CHECK-NEXT: LOAD 0x000306 0x0000000000203306 0x0000000000203306 0x000001 0x001801 RW 0x1000 |
42 |
| -# CHECK-NEXT: LOAD 0x000b07 0x0000000000205b07 0x0000000000205b07 0x000003 0x000005 RW 0x1000 |
| 39 | +# CHECK-NEXT: LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000301 0x000301 R 0x1000 |
| 40 | +# CHECK-NEXT: LOAD 0x000301 0x0000000000201301 0x0000000000201301 0x000001 0x000001 R E 0x1000 |
| 41 | +# CHECK-NEXT: LOAD 0x000302 0x0000000000202302 0x0000000000202302 0x000003 0x000003 R 0x1000 |
| 42 | +# CHECK-NEXT: LOAD 0x000308 0x0000000000203308 0x0000000000203308 0x000001 0x000001 R E 0x1000 |
| 43 | +# CHECK-NEXT: LOAD 0x000309 0x0000000000204309 0x0000000000204309 0x000001 0x000cf7 RW 0x1000 |
| 44 | +# CHECK-NEXT: LOAD 0x00030a 0x000000000020530a 0x000000000020530a 0x000001 0x001801 RW 0x1000 |
| 45 | +# CHECK-NEXT: LOAD 0x000b0b 0x0000000000207b0b 0x0000000000207b0b 0x000003 0x000005 RW 0x1000 |
43 | 46 |
|
44 |
| -# CHECK1: .data PROGBITS 0000000000203306 000306 000001 00 WA 0 0 1 |
45 |
| -# CHECK1-NEXT: .ldata PROGBITS 0000000000203307 000307 000002 00 WAl 0 0 1 |
46 |
| -# CHECK1-NEXT: .ldata2 PROGBITS 0000000000203309 000309 000001 00 WAl 0 0 1 |
47 |
| -# CHECK1-NEXT: .comment PROGBITS 0000000000000000 00030a {{.*}} 01 MS 0 0 1 |
| 47 | +# CHECK1: .data PROGBITS 000000000020530a 00030a 000001 00 WA 0 0 1 |
| 48 | +# CHECK1-NEXT: .ldata PROGBITS 000000000020530b 00030b 000002 00 WAl 0 0 1 |
| 49 | +# CHECK1-NEXT: .ldata2 PROGBITS 000000000020530d 00030d 000001 00 WAl 0 0 1 |
| 50 | +# CHECK1-NEXT: .comment PROGBITS 0000000000000000 00030e {{.*}} 01 MS 0 0 1 |
48 | 51 |
|
49 | 52 | # CHECK2: .note NOTE 0000000000200300 000300 000001 00 A 0 0 1
|
50 |
| -# CHECK2-NEXT: .lrodata PROGBITS 0000000000200301 000301 000001 00 Al 0 0 1 |
| 53 | +# CHECK2-NEXT: .ltext PROGBITS 0000000000200301 000301 000001 00 AXl 0 0 1 |
| 54 | +# CHECK2-NEXT: .lrodata PROGBITS 0000000000200302 000302 000001 00 Al 0 0 1 |
51 | 55 | ## With a SECTIONS command, we suppress the default rule placing .lrodata.* into .lrodata.
|
52 |
| -# CHECK2-NEXT: .lrodata.1 PROGBITS 0000000000200302 000302 000001 00 Al 0 0 1 |
53 |
| -# CHECK2-NEXT: .rodata PROGBITS 0000000000200303 000303 000001 00 A 0 0 1 |
54 |
| -# CHECK2-NEXT: .text PROGBITS 0000000000200304 000304 000001 00 AX 0 0 4 |
55 |
| -# CHECK2-NEXT: .tdata PROGBITS 0000000000200305 000305 000001 00 WAT 0 0 1 |
56 |
| -# CHECK2-NEXT: .tbss NOBITS 0000000000200306 000306 000001 00 WAT 0 0 1 |
57 |
| -# CHECK2-NEXT: .tbss.1 NOBITS 0000000000200307 000306 000001 00 WAT 0 0 1 |
58 |
| -# CHECK2-NEXT: .data PROGBITS 0000000000200306 000306 000001 00 WA 0 0 1 |
59 |
| -# CHECK2-NEXT: .bss NOBITS 0000000000200307 000307 001800 00 WA 0 0 1 |
60 |
| -# CHECK2-NEXT: .ldata PROGBITS 0000000000201b07 001b07 000002 00 WAl 0 0 1 |
61 |
| -# CHECK2-NEXT: .ldata2 PROGBITS 0000000000201b09 001b09 000001 00 WAl 0 0 1 |
62 |
| -# CHECK2-NEXT: .lbss NOBITS 0000000000201b0a 001b0a 000002 00 WAl 0 0 1 |
63 |
| -# CHECK2-NEXT: .comment PROGBITS 0000000000000000 001b0a {{.*}} 01 MS 0 0 1 |
| 56 | +# CHECK2-NEXT: .lrodata.1 PROGBITS 0000000000200303 000303 000001 00 Al 0 0 1 |
| 57 | +# CHECK2-NEXT: .rodata PROGBITS 0000000000200304 000304 000001 00 A 0 0 1 |
| 58 | +# CHECK2-NEXT: .text PROGBITS 0000000000200308 000308 000001 00 AX 0 0 4 |
| 59 | +# CHECK2-NEXT: .tdata PROGBITS 0000000000200309 000309 000001 00 WAT 0 0 1 |
| 60 | +# CHECK2-NEXT: .tbss NOBITS 000000000020030a 00030a 000001 00 WAT 0 0 1 |
| 61 | +# CHECK2-NEXT: .tbss.1 NOBITS 000000000020030b 00030a 000001 00 WAT 0 0 1 |
| 62 | +# CHECK2-NEXT: .data PROGBITS 000000000020030a 00030a 000001 00 WA 0 0 1 |
| 63 | +# CHECK2-NEXT: .bss NOBITS 000000000020030b 00030b 001800 00 WA 0 0 1 |
| 64 | +# CHECK2-NEXT: .ldata PROGBITS 0000000000201b0b 001b0b 000002 00 WAl 0 0 1 |
| 65 | +# CHECK2-NEXT: .ldata2 PROGBITS 0000000000201b0d 001b0d 000001 00 WAl 0 0 1 |
| 66 | +# CHECK2-NEXT: .lbss NOBITS 0000000000201b0e 001b0e 000002 00 WAl 0 0 1 |
| 67 | +# CHECK2-NEXT: .comment PROGBITS 0000000000000000 001b0e {{.*}} 01 MS 0 0 1 |
64 | 68 |
|
65 | 69 | # CHECK2: Program Headers:
|
66 | 70 | # CHECK2-NEXT: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
|
67 | 71 | # CHECK2-NEXT: PHDR 0x000040 0x0000000000200040 0x0000000000200040 {{.*}} {{.*}} R 0x8
|
68 |
| -# CHECK2-NEXT: LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000304 0x000304 R 0x1000 |
69 |
| -# CHECK2-NEXT: LOAD 0x000304 0x0000000000200304 0x0000000000200304 0x000001 0x000001 R E 0x1000 |
70 |
| -# CHECK2-NEXT: LOAD 0x000305 0x0000000000200305 0x0000000000200305 0x001805 0x001807 RW 0x1000 |
71 |
| -# CHECK2-NEXT: TLS 0x000305 0x0000000000200305 0x0000000000200305 0x000001 0x000003 R 0x1 |
| 72 | +# CHECK2-NEXT: LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000301 0x000301 R 0x1000 |
| 73 | +# CHECK2-NEXT: LOAD 0x000301 0x0000000000200301 0x0000000000200301 0x000001 0x000001 R E 0x1000 |
| 74 | +# CHECK2-NEXT: LOAD 0x000302 0x0000000000200302 0x0000000000200302 0x000003 0x000003 R 0x1000 |
| 75 | +# CHECK2-NEXT: LOAD 0x000308 0x0000000000200308 0x0000000000200308 0x000001 0x000001 R E 0x1000 |
| 76 | +# CHECK2-NEXT: LOAD 0x000309 0x0000000000200309 0x0000000000200309 0x001805 0x001807 RW 0x1000 |
| 77 | +# CHECK2-NEXT: TLS 0x000309 0x0000000000200309 0x0000000000200309 0x000001 0x000003 R 0x1 |
72 | 78 |
|
73 | 79 | #--- a.s
|
74 | 80 | .globl _start
|
75 | 81 | _start:
|
76 | 82 | ret
|
77 | 83 |
|
| 84 | +.section .ltext,"axl",@progbits; .space 1 |
78 | 85 | .section .note,"a",@note; .space 1
|
79 | 86 | .section .rodata,"a",@progbits; .space 1
|
80 | 87 | .section .data,"aw",@progbits; .space 1
|
|
0 commit comments