# RUN: yaml2obj %s -o %t # RUN: cp %t %t1 # RUN: llvm-strip --strip-debug --remove-section=.text.bar %t # RUN: llvm-readobj --file-headers --sections --symbols %t | FileCheck %s # RUN: llvm-objcopy --strip-debug --remove-section=.text.bar %t1 %t1 # RUN: cmp %t %t1 !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64 Sections: - Name: .debug_foo Type: SHT_PROGBITS Content: "00000000" - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] AddressAlign: 0x0000000000000010 Content: "00000000" - Name: .text.bar Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] AddressAlign: 0x0000000000000010 Content: "00000000" Symbols: - Name: debugfoo Section: .debug_foo Binding: STB_GLOBAL - Name: foo Section: .text Binding: STB_GLOBAL - Name: bar Section: .text.bar Binding: STB_GLOBAL # CHECK: SectionHeaderCount: 5 # CHECK: Name: .text # CHECK: Name: .symtab # CHECK: Name: .strtab # CHECK: Name: .shstrtab # CHECK-NOT: Name: .text.bar # CHECK-NOT: Name: .debug_foo # Check that *only* foo is copied and no debugfoo or textbar # CHECK: Symbols [ # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: # CHECK-NEXT: Value: # CHECK-NEXT: Size: # CHECK-NEXT: Binding: # CHECK-NEXT: Type: # CHECK-NEXT: Other: # CHECK-NEXT: Section: Undefined # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: foo # CHECK-NEXT: Value: # CHECK-NEXT: Size: # CHECK-NEXT: Binding: Global # CHECK-NEXT: Type: # CHECK-NEXT: Other: # CHECK-NEXT: Section: .text # CHECK-NEXT: } # CHECK-NEXT: ]