xref: /llvm-project/llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/README.txt (revision b19cfb9175223d3e1bb3ef6d49ccd26d0104906c)
1Notes:
2------
3As we should avoid committing binaries (.wasm) to be used in tests,
4instead we provide the '.cpp' source files and the '.s' files.
5
6- For the tests, only the '.s' files are required.
7- We use the target 'wasm32' as the 'wasm64' is not standardized yet.
8
9How to generate .s from .cpp
10----------------------------
11Use clang to generate the '.s'.
12
13  clang --target=wasm32 -S -g Inputs/hello-world.cpp -o Inputs/hello-world-clang.s
14  clang --target=wasm32 -S -g Inputs/pr-43860.cpp    -o Inputs/pr-43860-clang.s
15  clang --target=wasm32 -S -g Inputs/pr-44884.cpp    -o Inputs/pr-44884-clang.s
16  clang --target=wasm32 -S -g Inputs/pr-46466.cpp    -o Inputs/pr-46466-clang.s
17  clang --target=wasm32 -S -g Inputs/test.cpp        -o Inputs/test-clang.s
18
19How to generate .o from .s
20--------------------------------
21Each test executes one of the following commands in order to generate
22the binary '.wasm' used by that specific test:
23
24  llvm-mc -arch=wasm32 -filetype=obj %p/Inputs/hello-world-clang.s -o hello-world-clang.o
25  llvm-mc -arch=wasm32 -filetype=obj %p/Inputs/pr-43860-clang.s    -o pr-43860-clang.o
26  llvm-mc -arch=wasm32 -filetype=obj %p/Inputs/pr-44884-clang.s    -o pr-44884-clang.o
27  llvm-mc -arch=wasm32 -filetype=obj %p/Inputs/pr-46466-clang.s    -o pr-46466-clang.o
28  llvm-mc -arch=wasm32 -filetype=obj %p/Inputs/test-clang.s        -o test-clang.o
29