When we originally wrote these tests we didn't have a stable and fleshed out assembly format. Now we do so we should prefer that over llvm ir for lld tests to avoid including more part of llvm than necessary in order to run the test. This change converts just 30 out of about 130 test files. More to come when I have some more time. Differential Revision: https://reviews.llvm.org/D80361
44 lines
1.9 KiB
Plaintext
44 lines
1.9 KiB
Plaintext
; Test that the --stack-first option places the stack at the start of linear
|
|
; memory. In this case the --stack-first option is being passed along with a
|
|
; stack size of 512. This means (since the stack grows down) the stack pointer
|
|
; global should be initialized to 512.
|
|
|
|
RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/start.s -o %t.o
|
|
RUN: wasm-ld -z stack-size=512 --stack-first --export=__data_end --export=__heap_base -o %t.wasm %t.o
|
|
RUN: obj2yaml %t.wasm | FileCheck %s
|
|
|
|
CHECK: - Type: GLOBAL
|
|
CHECK-NEXT: Globals:
|
|
CHECK-NEXT: - Index: 0
|
|
CHECK-NEXT: Type: I32
|
|
CHECK-NEXT: Mutable: true
|
|
CHECK-NEXT: InitExpr:
|
|
CHECK-NEXT: Opcode: I32_CONST
|
|
CHECK-NEXT: Value: 512
|
|
CHECK-NEXT: - Index: 1
|
|
CHECK-NEXT: Type: I32
|
|
CHECK-NEXT: Mutable: false
|
|
CHECK-NEXT: InitExpr:
|
|
CHECK-NEXT: Opcode: I32_CONST
|
|
CHECK-NEXT: Value: 512
|
|
CHECK-NEXT: - Index: 2
|
|
CHECK-NEXT: Type: I32
|
|
CHECK-NEXT: Mutable: false
|
|
CHECK-NEXT: InitExpr:
|
|
CHECK-NEXT: Opcode: I32_CONST
|
|
CHECK-NEXT: Value: 512
|
|
CHECK-NEXT: - Type: EXPORT
|
|
CHECK-NEXT: Exports:
|
|
CHECK-NEXT: - Name: memory
|
|
CHECK-NEXT: Kind: MEMORY
|
|
CHECK-NEXT: Index: 0
|
|
CHECK-NEXT: - Name: _start
|
|
CHECK-NEXT: Kind: FUNCTION
|
|
CHECK-NEXT: Index: 0
|
|
CHECK-NEXT: - Name: __data_end
|
|
CHECK-NEXT: Kind: GLOBAL
|
|
CHECK-NEXT: Index: 1
|
|
CHECK-NEXT: - Name: __heap_base
|
|
CHECK-NEXT: Kind: GLOBAL
|
|
CHECK-NEXT: Index: 2
|