1# RUN: yaml2obj %s -o %t 2# RUN: cp %t %t1 3# RUN: llvm-objcopy --discard-locals %t %t2 4# Verify that llvm-objcopy has not modified the input. 5# RUN: cmp %t %t1 6# RUN: llvm-readobj --symbols %t2 | FileCheck %s 7 8# RUN: llvm-objcopy -X %t %t3 9# Verify that llvm-objcopy has not modified the input. 10# RUN: cmp %t %t1 11# RUN: cmp %t2 %t3 12 13# Verify that llvm-strip modifies the symbol table the same way. 14 15# RUN: cp %t %t4 16# RUN: llvm-strip --discard-locals %t4 17# RUN: cmp %t2 %t4 18 19# RUN: cp %t %t5 20# RUN: llvm-strip -X %t5 21# RUN: cmp %t2 %t5 22 23!ELF 24FileHeader: 25 Class: ELFCLASS64 26 Data: ELFDATA2LSB 27 Type: ET_REL 28 Machine: EM_X86_64 29Sections: 30 - Name: .text 31 Type: SHT_PROGBITS 32 - Name: .LLVM.Custom.Section 33 Type: SHT_PROGBITS 34Symbols: 35 - Name: Local 36 Type: STT_FUNC 37 Section: .text 38 - Name: .L.LocalSection 39 Type: STT_SECTION 40 Section: .text 41 - Type: STT_SECTION 42 Section: .LLVM.Custom.Section 43 - Name: .L.LocalFile 44 Type: STT_FILE 45 - Name: .L.str 46 Type: STT_OBJECT 47 Section: .text 48 - Name: .L.undefined 49 - Name: .L.abs 50 Index: SHN_ABS 51 - Name: .L.Global 52 Type: STT_FUNC 53 Section: .text 54 Binding: STB_GLOBAL 55 56# CHECK: Symbols [ 57# CHECK-NEXT: Symbol { 58# CHECK-NEXT: Name: 59# CHECK-NEXT: Value: 0x0 60# CHECK-NEXT: Size: 0 61# CHECK-NEXT: Binding: Local 62# CHECK-NEXT: Type: None 63# CHECK-NEXT: Other: 0 64# CHECK-NEXT: Section: Undefined 65# CHECK-NEXT: } 66# CHECK-NEXT: Symbol { 67# CHECK-NEXT: Name: Local 68# CHECK-NEXT: Value: 69# CHECK-NEXT: Size: 70# CHECK-NEXT: Binding: Local 71# CHECK-NEXT: Type: Function 72# CHECK-NEXT: Other: 73# CHECK-NEXT: Section: .text 74# CHECK-NEXT: } 75# CHECK-NEXT: Symbol { 76# CHECK-NEXT: Name: .L.LocalSection 77# CHECK-NEXT: Value: 78# CHECK-NEXT: Size: 79# CHECK-NEXT: Binding: Local 80# CHECK-NEXT: Type: Section 81# CHECK-NEXT: Other: 82# CHECK-NEXT: Section: .text 83# CHECK-NEXT: } 84# CHECK-NEXT: Symbol { 85# CHECK-NEXT: Name: 86# CHECK-NEXT: Value: 87# CHECK-NEXT: Size: 88# CHECK-NEXT: Binding: Local 89# CHECK-NEXT: Type: Section 90# CHECK-NEXT: Other: 91# CHECK-NEXT: Section: .LLVM.Custom.Section 92# CHECK-NEXT: } 93# CHECK-NEXT: Symbol { 94# CHECK-NEXT: Name: .L.LocalFile 95# CHECK-NEXT: Value: 96# CHECK-NEXT: Size: 97# CHECK-NEXT: Binding: Local 98# CHECK-NEXT: Type: File 99# CHECK-NEXT: Other: 100# CHECK-NEXT: Section: Undefined 101# CHECK-NEXT: } 102# CHECK-NEXT: Symbol { 103# CHECK-NEXT: Name: .L.undefined 104# CHECK-NEXT: Value: 105# CHECK-NEXT: Size: 106# CHECK-NEXT: Binding: Local 107# CHECK-NEXT: Type: None 108# CHECK-NEXT: Other: 109# CHECK-NEXT: Section: Undefined 110# CHECK-NEXT: } 111# CHECK-NEXT: Symbol { 112# CHECK-NEXT: Name: .L.Global 113# CHECK-NEXT: Value: 114# CHECK-NEXT: Size: 115# CHECK-NEXT: Binding: Global 116# CHECK-NEXT: Type: Function 117# CHECK-NEXT: Other: 118# CHECK-NEXT: Section: .text 119# CHECK-NEXT: } 120# CHECK-NEXT: ] 121