# 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 /