|
18 | 18 | # RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t/thunk | FileCheck %s |
19 | 19 |
|
20 | 20 | ## Check that the thunks appear in the map file and that everything is sorted by address |
21 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _b |
22 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _c |
23 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _d.thunk.0 |
24 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _e.thunk.0 |
25 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _f.thunk.0 |
26 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _g.thunk.0 |
27 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _h.thunk.0 |
28 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] ___nan.thunk.0 |
29 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _d |
30 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _e |
31 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _f |
32 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _g |
33 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _a.thunk.0 |
34 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _b.thunk.0 |
35 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _h |
36 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _main |
37 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _c.thunk.0 |
38 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _d.thunk.1 |
39 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _e.thunk.1 |
40 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _f.thunk.1 |
41 | | -# MAP: [[0x[0-9A-Fa-f]+]] 0x[0-9A-Fa-f]+ \[[0-9]+\] _z |
| 21 | +# Because of the `.space` instructions, there will end up being a lot of dead symbols in the linker map |
| 22 | +# so generate a version of the linker map without dead symbols. |
| 23 | +# RUN: awk '/# Dead Stripped Symbols:/ {exit} {print}' %t/thunk.map > %t/thunk_no_dead_syms.map |
| 24 | + |
| 25 | +# RUN: FileCheck %s --input-file %t/thunk_no_dead_syms.map --check-prefix=MAP |
| 26 | + |
| 27 | +# MAP: [[ADDR1:0x[0-9A-Fa-f]+]] {{.*}} _b |
| 28 | +# MAP-NEXT: [[ADDR2:0x[0-9A-Fa-f]+]] {{.*}} _c |
| 29 | +# MAP-NEXT: [[ADDR3:0x[0-9A-Fa-f]+]] {{.*}} _d.thunk.0 |
| 30 | +# MAP-NEXT: [[ADDR4:0x[0-9A-Fa-f]+]] {{.*}} _e.thunk.0 |
| 31 | +# MAP-NEXT: [[ADDR5:0x[0-9A-Fa-f]+]] {{.*}} _f.thunk.0 |
| 32 | +# MAP-NEXT: [[ADDR6:0x[0-9A-Fa-f]+]] {{.*}} _g.thunk.0 |
| 33 | +# MAP-NEXT: [[ADDR7:0x[0-9A-Fa-f]+]] {{.*}} _h.thunk.0 |
| 34 | +# MAP-NEXT: [[ADDR8:0x[0-9A-Fa-f]+]] {{.*}} ___nan.thunk.0 |
| 35 | +# MAP-NEXT: [[ADDR9:0x[0-9A-Fa-f]+]] {{.*}} _d |
| 36 | +# MAP-NEXT: [[ADDR10:0x[0-9A-Fa-f]+]] {{.*}} _e |
| 37 | +# MAP-NEXT: [[ADDR11:0x[0-9A-Fa-f]+]] {{.*}} _f |
| 38 | +# MAP-NEXT: [[ADDR12:0x[0-9A-Fa-f]+]] {{.*}} _g |
| 39 | +# MAP-NEXT: [[ADDR13:0x[0-9A-Fa-f]+]] {{.*}} _a.thunk.0 |
| 40 | +# MAP-NEXT: [[ADDR14:0x[0-9A-Fa-f]+]] {{.*}} _b.thunk.0 |
| 41 | +# MAP-NEXT: [[ADDR15:0x[0-9A-Fa-f]+]] {{.*}} _h |
| 42 | +# MAP-NEXT: [[ADDR16:0x[0-9A-Fa-f]+]] {{.*}} _main |
| 43 | +# MAP-NEXT: [[ADDR17:0x[0-9A-Fa-f]+]] {{.*}} _c.thunk.0 |
| 44 | +# MAP-NEXT: [[ADDR18:0x[0-9A-Fa-f]+]] {{.*}} _d.thunk.1 |
| 45 | +# MAP-NEXT: [[ADDR19:0x[0-9A-Fa-f]+]] {{.*}} _e.thunk.1 |
| 46 | +# MAP-NEXT: [[ADDR20:0x[0-9A-Fa-f]+]] {{.*}} _f.thunk.1 |
| 47 | +# MAP-NEXT: [[ADDR21:0x[0-9A-Fa-f]+]] {{.*}} _z |
| 48 | + |
42 | 49 |
|
43 | 50 | # CHECK: Disassembly of section __TEXT,__text: |
44 | 51 |
|
|
0 commit comments