17cb25f53SDerek Schuff## Test that only debug sections are kept with --only-keep-debug. 2*2a6136e5SSam Clegg# RUN: yaml2obj %s -o %t.wasm 3*2a6136e5SSam Clegg# RUN: llvm-strip --only-keep-debug %t.wasm -o %t2.wasm 4*2a6136e5SSam Clegg# RUN: obj2yaml %t2.wasm | FileCheck %s -check-prefixes=CHECK,STRIPTYPE,STRIPFOO 57cb25f53SDerek Schuff 67cb25f53SDerek Schuff## Test that keep-section overrides only-keep-debug. 7*2a6136e5SSam Clegg# RUN: llvm-strip --only-keep-debug --keep-section=foo %t.wasm -o %t3.wasm 8*2a6136e5SSam Clegg# RUN: obj2yaml %t3.wasm | FileCheck --implicit-check-not=Name --check-prefixes=CHECK,STRIPTYPE,KEEPFOO %s 97cb25f53SDerek Schuff 10c9dd1cc6SDerek Schuff## Test that keep-section overrides only-keep-debug, even for known sections. 11*2a6136e5SSam Clegg# RUN: llvm-strip --only-keep-debug --keep-section=TYPE %t.wasm -o %t4.wasm 12*2a6136e5SSam Clegg# RUN: obj2yaml %t4.wasm | FileCheck --implicit-check-not=Name --check-prefixes=CHECK,KEEPTYPE,STRIPFOO %s 13c9dd1cc6SDerek Schuff 147cb25f53SDerek Schuff# CHECK: Sections: 15e07dab8aSDerek Schuff# KEEPTYPE: - Type: TYPE 16*2a6136e5SSam Clegg# STRIPTYPE-NOT: - Type: TYPE 17*2a6136e5SSam Clegg# STRIPTYPE: - Type: CUSTOM 18*2a6136e5SSam Clegg# STRIPTYPE-NEXT: Name: .objcopy.removed 197cb25f53SDerek Schuff# CHECK: - Type: CUSTOM 207cb25f53SDerek Schuff# CHECK-NEXT: Name: .debug_info 217cb25f53SDerek Schuff# CHECK: - Type: CUSTOM 22*2a6136e5SSam Clegg# CHECK-NEXT: Name: .objcopy.removed 23*2a6136e5SSam Clegg# CHECK: - Type: CUSTOM 24*2a6136e5SSam Clegg# CHECK-NEXT: Name: .objcopy.removed 25*2a6136e5SSam Clegg# CHECK: - Type: CUSTOM 267cb25f53SDerek Schuff# CHECK-NEXT: Name: .debug_line 27*2a6136e5SSam Clegg# CHECK: - Type: CUSTOM 28*2a6136e5SSam Clegg# KEEPFOO-NEXT: Name: foo 29*2a6136e5SSam Clegg# STRIPFOO-NEXT: Name: .objcopy.removed 307cb25f53SDerek Schuff 317cb25f53SDerek Schuff## Test that remove-section overrides only-keep-debug. 327cb25f53SDerek Schuff# RUN: yaml2obj %s -o %t 337cb25f53SDerek Schuff# RUN: llvm-strip --only-keep-debug --remove-section=.debug_info %t 347cb25f53SDerek Schuff# RUN: obj2yaml %t | FileCheck %s --check-prefix=NOINFO --implicit-check-not=.debug_info 357cb25f53SDerek Schuff 367cb25f53SDerek Schuff# NOINFO: Name: .debug_line 377cb25f53SDerek Schuff 387cb25f53SDerek Schuff--- !WASM 397cb25f53SDerek SchuffFileHeader: 407cb25f53SDerek Schuff Version: 0x00000001 417cb25f53SDerek SchuffSections: 427cb25f53SDerek Schuff - Type: TYPE 437cb25f53SDerek Schuff Signatures: 447cb25f53SDerek Schuff - Index: 0 457cb25f53SDerek Schuff ParamTypes: 467cb25f53SDerek Schuff - I32 477cb25f53SDerek Schuff ReturnTypes: 487cb25f53SDerek Schuff - F32 497cb25f53SDerek Schuff - Type: CUSTOM 507cb25f53SDerek Schuff Name: .debug_info 517cb25f53SDerek Schuff Payload: CAFE1234 527cb25f53SDerek Schuff - Type: CUSTOM 537cb25f53SDerek Schuff Name: linking 547cb25f53SDerek Schuff Version: 2 557cb25f53SDerek Schuff - Type: CUSTOM 567cb25f53SDerek Schuff Name: producers 577cb25f53SDerek Schuff Tools: 587cb25f53SDerek Schuff - Name: clang 597cb25f53SDerek Schuff Version: 9.0.0 607cb25f53SDerek Schuff - Type: CUSTOM 617cb25f53SDerek Schuff Name: .debug_line 627cb25f53SDerek Schuff Payload: DEADBEEF 637cb25f53SDerek Schuff - Type: CUSTOM 647cb25f53SDerek Schuff Name: foo 657cb25f53SDerek Schuff Payload: CAFE 66