1# RUN: yaml2obj %s > %t 2# RUN: llvm-objcopy --discard-all -K foo --keep-symbol bar %t %t2 3# RUN: llvm-objcopy -K foo -N foo -N bar --keep-symbol bar -N baz %t %t3 4# RUN: llvm-readobj -symbols %t2 | FileCheck %s 5# RUN: llvm-readobj -symbols %t3 | FileCheck %s 6 7!ELF 8FileHeader: 9 Class: ELFCLASS64 10 Data: ELFDATA2LSB 11 Type: ET_REL 12 Machine: EM_X86_64 13Sections: 14 - Name: .text 15 Type: SHT_PROGBITS 16 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 17 Address: 0x1000 18 AddressAlign: 0x0000000000000010 19 Size: 64 20Symbols: 21 Local: 22 - Name: foo 23 Type: STT_FUNC 24 Section: .text 25 Value: 0x1000 26 Size: 8 27 - Name: bar 28 Type: STT_FUNC 29 Section: .text 30 Value: 0x1008 31 Size: 8 32 - Name: baz 33 Type: STT_FUNC 34 Section: .text 35 Value: 0x1010 36 Size: 8 37 38#CHECK: Symbols [ 39#CHECK-NEXT: Symbol { 40#CHECK-NEXT: Name: 41#CHECK-NEXT: Value: 0x0 42#CHECK-NEXT: Size: 0 43#CHECK-NEXT: Binding: Local 44#CHECK-NEXT: Type: None 45#CHECK-NEXT: Other: 0 46#CHECK-NEXT: Section: Undefined 47#CHECK-NEXT: } 48#CHECK-NEXT: Symbol { 49#CHECK-NEXT: Name: foo 50#CHECK-NEXT: Value: 0x1000 51#CHECK-NEXT: Size: 8 52#CHECK-NEXT: Binding: Local 53#CHECK-NEXT: Type: Function 54#CHECK-NEXT: Other: 0 55#CHECK-NEXT: Section: .text 56#CHECK-NEXT: } 57#CHECK-NEXT: Symbol { 58#CHECK-NEXT: Name: bar 59#CHECK-NEXT: Value: 0x1008 60#CHECK-NEXT: Size: 8 61#CHECK-NEXT: Binding: Local 62#CHECK-NEXT: Type: Function 63#CHECK-NEXT: Other: 0 64#CHECK-NEXT: Section: .text 65#CHECK-NEXT: } 66#CHECK-NEXT:] 67