llvm-project/lld/test/wasm/whole-archive.test
Sam Clegg fd1c894a4a [lld][WebAssembly] Convert some lld tests to assembly
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
2020-05-28 16:52:01 -07:00

35 lines
1.5 KiB
Plaintext

RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/start.s -o %t.o
RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/ret32.s -o %t.ret32.o
RUN: rm -f %t.a
RUN: llvm-ar rcs %t.a %t.ret32.o
Should not add symbols from the archive by default as they are not required
RUN: wasm-ld --no-gc-sections -o %t.wasm %t.o %t.a
RUN: obj2yaml %t.wasm | FileCheck --check-prefix=NOTADDED %s
NOTADDED: FunctionNames:
NOTADDED-NOT: Name: ret32
NOTADDED: ...
Should add symbols from the archive if --whole-archive is used
RUN: wasm-ld --no-gc-sections -o %t.wasm %t.o --whole-archive %t.a
RUN: obj2yaml %t.wasm | FileCheck --check-prefix=ADDED %s
ADDED: FunctionNames:
ADDED: Name: ret32
ADDED: ...
--no-whole-archive should restore default behaviour
RUN: wasm-ld --no-gc-sections -o %t.wasm %t.o --whole-archive --no-whole-archive %t.a
RUN: obj2yaml %t.wasm | FileCheck --check-prefix=NOTADDED %s
--whole-archive and --no-whole-archive should affect only archives which follow them
RUN: wasm-ld --no-gc-sections -o %t.wasm %t.o %t.a --whole-archive --no-whole-archive
RUN: obj2yaml %t.wasm | FileCheck --check-prefix=NOTADDED %s
RUN: wasm-ld --no-gc-sections -o %t.wasm %t.o --whole-archive %t.a --no-whole-archive
RUN: obj2yaml %t.wasm | FileCheck --check-prefix=ADDED %s
--whole-archive should also work with thin archives
RUN: rm -f %tthin.a
RUN: llvm-ar --format=gnu rcsT %tthin.a %t.ret32.o
RUN: wasm-ld --no-gc-sections -o %t.wasm %t.o --whole-archive %tthin.a
RUN: obj2yaml %t.wasm | FileCheck --check-prefix=ADDED %s