114 lines · plain
1# RUN: yaml2obj %s -o %t2# RUN: llvm-objcopy --weaken-symbol Global -W Local -W Weak -W GnuUnique -W Missing %t %t23# RUN: llvm-readobj --symbols %t2 | FileCheck %s4# RUN: llvm-objcopy --regex --weaken-symbol='[LGW].*' %t %t35# RUN: cmp %t2 %t36# RUN: echo " Global # comment" > %t-list.txt7# RUN: echo "Local" >> %t-list.txt8# RUN: echo "Weak" >> %t-list.txt9# RUN: echo "GnuUnique" >> %t-list.txt10# RUN: echo "Missing" >> %t-list.txt11# RUN: echo " # comment" >> %t-list.txt12# RUN: llvm-objcopy --weaken-symbols %t-list.txt %t %t413# RUN: cmp %t2 %t414# RUN: echo ".*al # Global + Local == .*al" > %t-list2.txt15# RUN: echo "Weak # weak" >> %t-list2.txt16# RUN: echo " Gnu.*" >> %t-list2.txt17# RUN: llvm-objcopy --regex --weaken-symbols %t-list2.txt %t %t518# RUN: cmp %t2 %t519 20!ELF21FileHeader:22 Class: ELFCLASS6423 Data: ELFDATA2LSB24 Type: ET_REL25 Machine: EM_X86_6426Sections:27 - Name: .text28 Type: SHT_PROGBITS29 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]30 Address: 0x100031 AddressAlign: 0x000000000000001032 Size: 6433Symbols:34 - Name: Local35 Type: STT_FUNC36 Section: .text37 Value: 0x100038 Size: 839 - Name: Global40 Type: STT_FUNC41 Size: 842 Section: .text43 Value: 0x101044 Binding: STB_GLOBAL45 - Name: Weak46 Type: STT_FUNC47 Size: 848 Section: .text49 Value: 0x100850 Binding: STB_WEAK51 - Name: GnuUnique52 Section: .text53 Binding: STB_GNU_UNIQUE54 - Name: Unspecified55 Section: .text56 Binding: STB_GLOBAL57 58#CHECK: Symbols [59#CHECK-NEXT: Symbol {60#CHECK-NEXT: Name:61#CHECK-NEXT: Value: 0x062#CHECK-NEXT: Size: 063#CHECK-NEXT: Binding: Local64#CHECK-NEXT: Type: None65#CHECK-NEXT: Other: 066#CHECK-NEXT: Section: Undefined67#CHECK-NEXT: }68#CHECK-NEXT: Symbol {69#CHECK-NEXT: Name: Local70#CHECK-NEXT: Value: 0x100071#CHECK-NEXT: Size: 872#CHECK-NEXT: Binding: Local73#CHECK-NEXT: Type: Function74#CHECK-NEXT: Other: 075#CHECK-NEXT: Section: .text76#CHECK-NEXT: }77#CHECK-NEXT: Symbol {78#CHECK-NEXT: Name: Global79#CHECK-NEXT: Value: 0x101080#CHECK-NEXT: Size: 881#CHECK-NEXT: Binding: Weak82#CHECK-NEXT: Type: Function83#CHECK-NEXT: Other: 084#CHECK-NEXT: Section: .text85#CHECK-NEXT: }86#CHECK-NEXT: Symbol {87#CHECK-NEXT: Name: Weak88#CHECK-NEXT: Value: 0x100889#CHECK-NEXT: Size: 890#CHECK-NEXT: Binding: Weak91#CHECK-NEXT: Type: Function92#CHECK-NEXT: Other: 093#CHECK-NEXT: Section: .text94#CHECK-NEXT: }95#CHECK-NEXT: Symbol {96#CHECK-NEXT: Name: GnuUnique97#CHECK-NEXT: Value: 0x098#CHECK-NEXT: Size: 099#CHECK-NEXT: Binding: Weak100#CHECK-NEXT: Type: None101#CHECK-NEXT: Other: 0102#CHECK-NEXT: Section: .text103#CHECK-NEXT: }104#CHECK-NEXT: Symbol {105#CHECK-NEXT: Name: Unspecified106#CHECK-NEXT: Value: 0x0107#CHECK-NEXT: Size: 0108#CHECK-NEXT: Binding: Global109#CHECK-NEXT: Type: None110#CHECK-NEXT: Other: 0111#CHECK-NEXT: Section: .text112#CHECK-NEXT: }113#CHECK-NEXT:]114