This change writes the module name to the name section of the wasm binary. We use the `-soname` argument to determine the name and we default the output file basename if this option is not specified. In the future we will likely want to embed the soname in the dylink section too, but this the first step in supporting `-soname`. Differential Revision: https://reviews.llvm.org/D158001
75 lines
2.6 KiB
ArmAsm
75 lines
2.6 KiB
ArmAsm
# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %s -o %t1.o
|
|
# RUN: wasm-ld %t1.o -o %t -M | FileCheck --match-full-lines --strict-whitespace %s
|
|
# RUN: wasm-ld %t1.o -o %t -print-map | FileCheck --match-full-lines --strict-whitespace %s
|
|
# RUN: wasm-ld %t1.o -o %t -Map=%t.map
|
|
# RUN: FileCheck --match-full-lines --strict-whitespace %s < %t.map
|
|
|
|
.globaltype wasm_global, i32, immutable
|
|
wasm_global:
|
|
|
|
bar:
|
|
.functype bar () -> (i32)
|
|
i32.const somedata
|
|
i32.const somezeroes
|
|
drop
|
|
end_function
|
|
|
|
write_global:
|
|
.functype write_global (i32) -> ()
|
|
local.get 0
|
|
global.set wasm_global
|
|
end_function
|
|
|
|
.globl _start
|
|
_start:
|
|
.functype _start () -> ()
|
|
call bar
|
|
call write_global
|
|
end_function
|
|
|
|
.section .data.somedata,"",@
|
|
somedata:
|
|
.int32 123
|
|
.int32 bar
|
|
.size somedata, 8
|
|
|
|
.section .bss.somezeroes,"",@
|
|
somezeroes:
|
|
.int32 0
|
|
.size somezeroes, 4
|
|
|
|
.section .debug_info,"",@
|
|
.int32 bar
|
|
|
|
|
|
# CHECK: Addr Off Size Out In Symbol
|
|
# CHECK-NEXT: - 8 e TYPE
|
|
# CHECK-NEXT: - 16 6 FUNCTION
|
|
# CHECK-NEXT: - 1c 7 TABLE
|
|
# CHECK-NEXT: - 23 5 MEMORY
|
|
# CHECK-NEXT: - 28 f GLOBAL
|
|
# CHECK-NEXT: 0 0 0 __stack_pointer
|
|
# CHECK-NEXT: 1 0 0 wasm_global
|
|
# CHECK-NEXT: - 37 15 EXPORT
|
|
# CHECK-NEXT: - 4c 9 ELEM
|
|
# CHECK-NEXT: - 55 2d CODE
|
|
# CHECK-NEXT: - 56 10 {{.*}}{{/|\\}}map-file.s.tmp1.o:(bar)
|
|
# CHECK-NEXT: - 56 10 bar
|
|
# CHECK-NEXT: - 66 b {{.*}}{{/|\\}}map-file.s.tmp1.o:(write_global)
|
|
# CHECK-NEXT: - 66 b write_global
|
|
# CHECK-NEXT: - 71 f {{.*}}{{/|\\}}map-file.s.tmp1.o:(_start)
|
|
# CHECK-NEXT: - 71 f _start
|
|
# CHECK-NEXT: - 82 11 DATA
|
|
# CHECK-NEXT: 400 83 8 .data
|
|
# CHECK-NEXT: 400 89 8 {{.*}}{{/|\\}}map-file.s.tmp1.o:(.data.somedata)
|
|
# CHECK-NEXT: 400 89 8 somedata
|
|
# CHECK-NEXT: 408 82 4 .bss
|
|
# CHECK-NEXT: 408 0 4 {{.*}}{{/|\\}}map-file.s.tmp1.o:(.bss.somezeroes)
|
|
# CHECK-NEXT: 408 0 4 somezeroes
|
|
# CHECK-NEXT: - 93 12 CUSTOM(.debug_info)
|
|
# CHECK-NEXT: - a5 61 CUSTOM(name)
|
|
|
|
# RUN: not wasm-ld %t1.o -o /dev/null -Map=/ 2>&1 \
|
|
# RUN: | FileCheck -check-prefix=FAIL %s
|
|
# FAIL: wasm-ld: error: cannot open map file /
|