|
30 | 30 | ; Also test in combination with PIC/pie |
31 | 31 | ; RUN: wasm-ld --experimental-pic -pie -no-gc-sections --no-entry --shared-memory --max-memory=131072 %t.atomics.bulk-mem.pic.o -o %t.pic.wasm |
32 | 32 | ; RUN: obj2yaml %t.pic.wasm | FileCheck %s --check-prefixes PASSIVE-PIC,PASSIVE32-PIC |
33 | | -; RUN: llvm-objdump --disassemble-symbols=__wasm_call_ctors,__wasm_init_memory --no-show-raw-insn --no-leading-addr %t.pic.wasm | FileCheck %s --check-prefixes DIS,PIC-DIS -DPTR=i32 |
| 33 | +; RUN: llvm-objdump --disassemble-symbols=__wasm_call_ctors,__wasm_apply_data_relocs,__wasm_init_memory --no-show-raw-insn --no-leading-addr %t.pic.wasm | FileCheck %s --check-prefixes DIS,PIC-DIS -DPTR=i32 |
34 | 34 |
|
35 | 35 | ; Also test in combination with PIC/pie + wasm64 |
36 | 36 | ; RUN: wasm-ld -mwasm64 --experimental-pic -pie -no-gc-sections --no-entry --shared-memory --max-memory=131072 %t.atomics.bulk-mem.pic-mem64.o -o %t.pic-mem64.wasm |
37 | 37 | ; RUN: obj2yaml %t.pic-mem64.wasm | FileCheck %s --check-prefixes PASSIVE-PIC,PASSIVE64-PIC |
38 | | -; RUN: llvm-objdump --disassemble-symbols=__wasm_call_ctors,__wasm_init_memory --no-show-raw-insn --no-leading-addr %t.pic-mem64.wasm | FileCheck %s --check-prefixes DIS,PIC-DIS -DPTR=i64 |
| 38 | +; RUN: llvm-objdump --disassemble-symbols=__wasm_call_ctors,__wasm_apply_data_relocs,__wasm_init_memory --no-show-raw-insn --no-leading-addr %t.pic-mem64.wasm | FileCheck %s --check-prefixes DIS,PIC-DIS -DPTR=i64 |
39 | 39 |
|
40 | 40 | @a = hidden global [6 x i8] c"hello\00", align 1 |
41 | 41 | @b = hidden global [8 x i8] c"goodbye\00", align 1 |
|
113 | 113 | ; PASSIVE-NEXT: Name: __wasm_init_memory |
114 | 114 |
|
115 | 115 | ; PASSIVE-PIC: - Type: START |
116 | | -; PASSIVE-PIC-NEXT: StartFunction: 2 |
| 116 | +; PASSIVE-PIC-NEXT: StartFunction: 3 |
117 | 117 | ; PASSIVE-PIC-NEXT: - Type: DATACOUNT |
118 | 118 | ; PASSIVE-PIC-NEXT: Count: 3 |
119 | 119 | ; PASSIVE-PIC-NEXT: - Type: CODE |
120 | 120 | ; PASSIVE-PIC-NEXT: Functions: |
121 | 121 | ; PASSIVE-PIC-NEXT: - Index: 0 |
122 | 122 | ; PASSIVE-PIC-NEXT: Locals: [] |
123 | | -; PASSIVE-PIC-NEXT: Body: 10030B |
| 123 | +; PASSIVE-PIC-NEXT: Body: 0B |
124 | 124 | ; PASSIVE-PIC-NEXT: - Index: 1 |
125 | 125 | ; PASSIVE-PIC-NEXT: Locals: [] |
126 | 126 | ; PASSIVE-PIC-NEXT: Body: {{.*}} |
127 | 127 | ; PASSIVE-PIC-NEXT: - Index: 2 |
| 128 | +; PASSIVE-PIC-NEXT: Locals: [] |
| 129 | +; PASSIVE-PIC-NEXT: Body: 0B |
| 130 | +; PASSIVE-PIC-NEXT: - Index: 3 |
128 | 131 | ; PASSIVE-PIC-NEXT: Locals: |
129 | 132 | ; PASSIVE32-PIC-NEXT: - Type: I32 |
130 | 133 | ; PASSIVE64-PIC-NEXT: - Type: I64 |
131 | 134 | ; PASSIVE-PIC-NEXT: Count: 2 |
132 | 135 | ; PASSIVE-PIC-NEXT: Body: {{.*}} |
133 | | -; PASSIVE-PIC-NEXT: - Index: 3 |
134 | | -; PASSIVE-PIC-NEXT: Locals: [] |
135 | | -; PASSIVE-PIC-NEXT: Body: 0B |
136 | 136 | ; PASSIVE-PIC-NEXT: - Type: DATA |
137 | 137 | ; PASSIVE-PIC-NEXT: Segments: |
138 | 138 | ; PASSIVE-PIC-NEXT: - SectionOffset: 3 |
|
152 | 152 | ; PASSIVE-PIC-NEXT: - Index: 1 |
153 | 153 | ; PASSIVE-PIC-NEXT: Name: __wasm_init_tls |
154 | 154 | ; PASSIVE-PIC-NEXT: - Index: 2 |
155 | | -; PASSIVE-PIC-NEXT: Name: __wasm_init_memory |
156 | | -; PASSIVE-PIC-NEXT: - Index: 3 |
157 | 155 | ; PASSIVE-PIC-NEXT: Name: __wasm_apply_data_relocs |
| 156 | +; PASSIVE-PIC-NEXT: - Index: 3 |
| 157 | +; PASSIVE-PIC-NEXT: Name: __wasm_init_memory |
158 | 158 |
|
159 | | -; In PIC mode __wasm_call_ctors contains a call to __wasm_apply_data_relocs |
160 | | -; In non-PIC mode __wasm_call_ctors is an emtpy function since there are |
161 | 159 | ; no data relocations. |
162 | 160 | ; DIS-LABEL: <__wasm_call_ctors>: |
163 | 161 | ; DIS-EMPTY: |
164 | | -; PIC-DIS-NEXT: call 3 |
165 | 162 | ; DIS-NEXT: end |
166 | 163 |
|
| 164 | +; In PIC mode __wasm_apply_data_relocs is export seperatly to __wasm_call_ctors |
| 165 | +; PIC-DIS: <__wasm_apply_data_relocs>: |
| 166 | +; PIC-DIS-EMPTY: |
| 167 | + |
167 | 168 | ; DIS-LABEL: <__wasm_init_memory>: |
168 | 169 |
|
169 | 170 | ; PIC-DIS: .local [[PTR]] |
|
0 commit comments