xref: /llvm-project/lld/test/wasm/merge-string-debug.s (revision 8b0f47bfa4b6aa1bafa10261444c93aba5a2d31d)
145b7cf99SSam Clegg# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %s -o %t.o
245b7cf99SSam Clegg# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/merge-string-debug2.s -o %t2.o
345b7cf99SSam Clegg
445b7cf99SSam Clegg# RUN: wasm-ld %t.o %t2.o -o %t.wasm --no-entry
545b7cf99SSam Clegg# RUN: llvm-readobj -x .debug_str %t.wasm | FileCheck %s --check-prefixes CHECK,CHECK-O1
645b7cf99SSam Clegg
7356b85edSSam Clegg# Check that we -r/--reclocatable can handle string merging too
8356b85edSSam Clegg# RUN: wasm-ld --relocatable %t.o %t2.o -o %t3.o
9356b85edSSam Clegg# RUN: wasm-ld -O1 %t3.o -o %t.wasm --no-entry
10356b85edSSam Clegg# RUN: llvm-readobj -x .debug_str %t.wasm | FileCheck %s --check-prefixes CHECK,CHECK-O1
11356b85edSSam Clegg
1245b7cf99SSam Clegg# RUN: wasm-ld -O0 %t.o %t2.o -o %tO0.wasm --no-entry
1345b7cf99SSam Clegg# RUN: llvm-readobj -x .debug_str %tO0.wasm | FileCheck %s --check-prefixes CHECK,CHECK-O0
14c1a59fa5SSam Clegg# RUN: llvm-readobj -x .debug_str_offsets %tO0.wasm | FileCheck %s --check-prefixes CHECK-OFFSETS
1545b7cf99SSam Clegg
1645b7cf99SSam Clegg.section .debug_str,"S",@
17356b85edSSam Clegg.Linfo_string0:
1845b7cf99SSam Clegg  .asciz "clang version 13.0.0"
19356b85edSSam Clegg.Linfo_string1:
2045b7cf99SSam Clegg  .asciz "foobar"
2145b7cf99SSam Clegg
22356b85edSSam Clegg.section .debug_other,"",@
23356b85edSSam Clegg  .int32 .Linfo_string0
24356b85edSSam Clegg
25c1a59fa5SSam Clegg.section .debug_str_offsets,"",@
26c1a59fa5SSam Clegg  .int32 .Linfo_string0
27c1a59fa5SSam Clegg  .int32 .Linfo_string0
28c1a59fa5SSam Clegg  .int32 .Linfo_string0
29c1a59fa5SSam Clegg
3045b7cf99SSam Clegg# CHECK: Hex dump of section '.debug_str':
3145b7cf99SSam Clegg
32*8b0f47bfSDerek Schuff# CHECK-O0: 0x00000025 636c616e 67207665 7273696f 6e203133 clang version 13
33*8b0f47bfSDerek Schuff# CHECK-O0: 0x00000035 2e302e30 00666f6f 62617200 636c616e .0.0.foobar.clan
34*8b0f47bfSDerek Schuff# CHECK-O0: 0x00000045 67207665 7273696f 6e203133 2e302e30 g version 13.0.0
35*8b0f47bfSDerek Schuff# CHECK-O0: 0x00000055 00626172 00666f6f 00                .bar.foo.
3645b7cf99SSam Clegg
37*8b0f47bfSDerek Schuff# CHECK-O1: 0x00000025 666f6f62 61720066 6f6f0063 6c616e67 foobar.foo.clang
38*8b0f47bfSDerek Schuff# CHECK-O1: 0x00000035 20766572 73696f6e 2031332e 302e3000  version 13.0.0.
39c1a59fa5SSam Clegg
40c1a59fa5SSam Clegg# CHECK-OFFSETS: Hex dump of section '.debug_str_offsets':
41*8b0f47bfSDerek Schuff# CHECK-OFFSETS: 0x0000007e 00000000 00000000 00000000          ............
42