138 lines · plain
1# RUN: yaml2obj %s -o %t2# RUN: llvm-objcopy --strip-all --keep-file-symbols %t %t23# RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=STRIPALL4# RUN: llvm-objcopy --keep-file-symbols --strip-symbol foo %t %t25# RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=STRIP6 7# RUN: llvm-strip --keep-file-symbols %t -o %t38# RUN: llvm-readobj --symbols %t3 | FileCheck %s --check-prefix=STRIPALL9# RUN: llvm-strip --keep-file-symbols --strip-symbol foo %t -o %t410# RUN: llvm-readobj --symbols %t4 | FileCheck %s --check-prefix=STRIP11 12# RUN: llvm-objcopy --keep-file-symbols --strip-debug %t %t513# RUN: llvm-readobj --symbols %t5 | FileCheck %s --check-prefix=STRIPDEBUG14# RUN: llvm-objcopy --keep-file-symbols --strip-unneeded %t %t615# RUN: llvm-readobj --symbols %t6 | FileCheck %s --check-prefix=STRIPDEBUG16 17# RUN: llvm-strip --keep-file-symbols --strip-debug %t -o %t718# RUN: llvm-readobj --symbols %t7 | FileCheck %s --check-prefix=STRIPDEBUG19# RUN: llvm-strip --keep-file-symbols --strip-unneeded %t -o %t820# RUN: llvm-readobj --symbols %t8 | FileCheck %s --check-prefix=STRIPDEBUG21 22!ELF23FileHeader:24 Class: ELFCLASS6425 Data: ELFDATA2LSB26 Type: ET_REL27 Machine: EM_X86_6428Sections:29 - Name: .debugfoo30 Type: SHT_PROGBITS31 Content: "00000000"32 - Name: .text33 Type: SHT_PROGBITS34 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]35 Address: 0x100036 AddressAlign: 0x000000000000001037 Size: 6438Symbols:39 - Name: foo40 Type: STT_FILE41 Section: .text42 - Name: bar43 Type: STT_FUNC44 Section: .text45 Binding: STB_GLOBAL46 - Name: debugfoo47 Section: .debugfoo48 Binding: STB_GLOBAL49 50#STRIPALL: Symbols [51#STRIPALL-NEXT: Symbol {52#STRIPALL-NEXT: Name:53#STRIPALL-NEXT: Value: 0x054#STRIPALL-NEXT: Size: 055#STRIPALL-NEXT: Binding: Local56#STRIPALL-NEXT: Type: None57#STRIPALL-NEXT: Other: 058#STRIPALL-NEXT: Section: Undefined59#STRIPALL-NEXT: }60#STRIPALL-NEXT: Symbol {61#STRIPALL-NEXT: Name: foo62#STRIPALL-NEXT: Value: 0x063#STRIPALL-NEXT: Size: 064#STRIPALL-NEXT: Binding: Local65#STRIPALL-NEXT: Type: File66#STRIPALL-NEXT: Other: 067#STRIPALL-NEXT: Section: .text68#STRIPALL-NEXT: }69#STRIPALL-NEXT:]70 71#STRIP: Symbols [72#STRIP-NEXT: Symbol {73#STRIP-NEXT: Name:74#STRIP-NEXT: Value: 0x075#STRIP-NEXT: Size: 076#STRIP-NEXT: Binding: Local77#STRIP-NEXT: Type: None78#STRIP-NEXT: Other: 079#STRIP-NEXT: Section: Undefined80#STRIP-NEXT: }81#STRIP-NEXT: Symbol {82#STRIP-NEXT: Name: foo83#STRIP-NEXT: Value: 0x084#STRIP-NEXT: Size: 085#STRIP-NEXT: Binding: Local86#STRIP-NEXT: Type: File87#STRIP-NEXT: Other: 088#STRIP-NEXT: Section: .text89#STRIP-NEXT: }90#STRIP-NEXT: Symbol {91#STRIP-NEXT: Name: bar92#STRIP-NEXT: Value: 0x093#STRIP-NEXT: Size: 094#STRIP-NEXT: Binding: Global95#STRIP-NEXT: Type: Function96#STRIP-NEXT: Other: 097#STRIP-NEXT: Section: .text98#STRIP-NEXT: }99#STRIP-NEXT: Symbol {100#STRIP-NEXT: Name: debugfoo101#STRIP-NEXT: Value: 0x0102#STRIP-NEXT: Size: 0103#STRIP-NEXT: Binding: Global104#STRIP-NEXT: Type: None105#STRIP-NEXT: Other: 0106#STRIP-NEXT: Section: .debugfoo107#STRIP-NEXT: }108#STRIP-NEXT:]109 110#STRIPDEBUG: Symbols [111#STRIPDEBUG-NEXT: Symbol {112#STRIPDEBUG-NEXT: Name:113#STRIPDEBUG-NEXT: Value: 0x0114#STRIPDEBUG-NEXT: Size: 0115#STRIPDEBUG-NEXT: Binding: Local116#STRIPDEBUG-NEXT: Type: None117#STRIPDEBUG-NEXT: Other: 0118#STRIPDEBUG-NEXT: Section: Undefined119#STRIPDEBUG-NEXT: }120#STRIPDEBUG-NEXT: Symbol {121#STRIPDEBUG-NEXT: Name: foo122#STRIPDEBUG-NEXT: Value: 0x0123#STRIPDEBUG-NEXT: Size: 0124#STRIPDEBUG-NEXT: Binding: Local125#STRIPDEBUG-NEXT: Type: File126#STRIPDEBUG-NEXT: Other: 0127#STRIPDEBUG-NEXT: Section: .text128#STRIPDEBUG-NEXT: }129#STRIPDEBUG-NEXT: Symbol {130#STRIPDEBUG-NEXT: Name: bar131#STRIPDEBUG-NEXT: Value: 0x0132#STRIPDEBUG-NEXT: Size: 0133#STRIPDEBUG-NEXT: Binding: Global134#STRIPDEBUG-NEXT: Type: Function135#STRIPDEBUG-NEXT: Other: 0136#STRIPDEBUG-NEXT: Section: .text137#STRIPDEBUG-NEXT: }138#STRIPDEBUG-NEXT:]