140 lines · plain
1# RUN: yaml2obj %s -o %t2# RUN: cp %t %t13# RUN: llvm-objcopy --discard-locals %t %t24# Verify that llvm-objcopy has not modified the input.5# RUN: cmp %t %t16# RUN: llvm-readobj --symbols %t2 | FileCheck %s7 8# RUN: llvm-objcopy -X %t %t39# Verify that llvm-objcopy has not modified the input.10# RUN: cmp %t %t111# RUN: cmp %t2 %t312 13# Verify that llvm-strip modifies the symbol table the same way.14 15# RUN: cp %t %t416# RUN: llvm-strip --discard-locals %t417# RUN: cmp %t2 %t418 19# RUN: cp %t %t520# RUN: llvm-strip -X %t521# RUN: cmp %t2 %t522 23!ELF24FileHeader:25 Class: ELFCLASS6426 Data: ELFDATA2LSB27 Type: ET_REL28 Machine: EM_X86_6429Sections:30 - Name: .text31 Type: SHT_PROGBITS32 - Name: .rela.text33 Type: SHT_RELA34 Link: .symtab35 Info: .text36 Relocations:37 - Offset: 038 Symbol: .L.referenced39 Type: R_X86_64_PC3240 - Name: .LLVM.Custom.Section41 Type: SHT_PROGBITS42Symbols:43 - Name: Local44 Type: STT_FUNC45 Section: .text46 - Name: .L.LocalSection47 Type: STT_SECTION48 Section: .text49 - Type: STT_SECTION50 Section: .LLVM.Custom.Section51 - Name: .L.LocalFile52 Type: STT_FILE53 - Name: .L.str54 Type: STT_OBJECT55 Section: .text56 - Name: .L.undefined57 - Name: .L.abs58 Index: SHN_ABS59 - Name: .L.referenced60 Section: .text61 - Name: .L.Global62 Type: STT_FUNC63 Section: .text64 Binding: STB_GLOBAL65 66# CHECK: Symbols [67# CHECK-NEXT: Symbol {68# CHECK-NEXT: Name:69# CHECK-NEXT: Value: 0x070# CHECK-NEXT: Size: 071# CHECK-NEXT: Binding: Local72# CHECK-NEXT: Type: None73# CHECK-NEXT: Other: 074# CHECK-NEXT: Section: Undefined75# CHECK-NEXT: }76# CHECK-NEXT: Symbol {77# CHECK-NEXT: Name: Local78# CHECK-NEXT: Value:79# CHECK-NEXT: Size:80# CHECK-NEXT: Binding: Local81# CHECK-NEXT: Type: Function82# CHECK-NEXT: Other:83# CHECK-NEXT: Section: .text84# CHECK-NEXT: }85# CHECK-NEXT: Symbol {86# CHECK-NEXT: Name: .L.LocalSection87# CHECK-NEXT: Value:88# CHECK-NEXT: Size:89# CHECK-NEXT: Binding: Local90# CHECK-NEXT: Type: Section91# CHECK-NEXT: Other:92# CHECK-NEXT: Section: .text93# CHECK-NEXT: }94# CHECK-NEXT: Symbol {95# CHECK-NEXT: Name:96# CHECK-NEXT: Value:97# CHECK-NEXT: Size:98# CHECK-NEXT: Binding: Local99# CHECK-NEXT: Type: Section100# CHECK-NEXT: Other:101# CHECK-NEXT: Section: .LLVM.Custom.Section102# CHECK-NEXT: }103# CHECK-NEXT: Symbol {104# CHECK-NEXT: Name: .L.LocalFile105# CHECK-NEXT: Value:106# CHECK-NEXT: Size:107# CHECK-NEXT: Binding: Local108# CHECK-NEXT: Type: File109# CHECK-NEXT: Other:110# CHECK-NEXT: Section: Undefined111# CHECK-NEXT: }112# CHECK-NEXT: Symbol {113# CHECK-NEXT: Name: .L.undefined114# CHECK-NEXT: Value:115# CHECK-NEXT: Size:116# CHECK-NEXT: Binding: Local117# CHECK-NEXT: Type: None118# CHECK-NEXT: Other:119# CHECK-NEXT: Section: Undefined120# CHECK-NEXT: }121# CHECK-NEXT: Symbol {122# CHECK-NEXT: Name: .L.referenced123# CHECK-NEXT: Value:124# CHECK-NEXT: Size:125# CHECK-NEXT: Binding: Local126# CHECK-NEXT: Type: None127# CHECK-NEXT: Other:128# CHECK-NEXT: Section: .text129# CHECK-NEXT: }130# CHECK-NEXT: Symbol {131# CHECK-NEXT: Name: .L.Global132# CHECK-NEXT: Value:133# CHECK-NEXT: Size:134# CHECK-NEXT: Binding: Global135# CHECK-NEXT: Type: Function136# CHECK-NEXT: Other:137# CHECK-NEXT: Section: .text138# CHECK-NEXT: }139# CHECK-NEXT: ]140