1# RUN: yaml2obj %s -o %t.o 2 3# Tests --keep-global-symbol when used in combination with --globalize-symbol on 4# a different symbol. 5 6# RUN: llvm-objcopy \ 7# RUN: --globalize-symbol Local1 \ 8# RUN: --keep-global-symbol Local2 \ 9# RUN: --globalize-symbol Weak1 \ 10# RUN: --keep-global-symbol Weak2 \ 11# RUN: --globalize-symbol Global1 \ 12# RUN: --keep-global-symbol Global2 \ 13# RUN: %t.o %t.2.o 14# RUN: llvm-readelf --symbols %t.2.o | FileCheck %s 15 16!ELF 17FileHeader: 18 Class: ELFCLASS64 19 Data: ELFDATA2LSB 20 Type: ET_REL 21 Machine: EM_X86_64 22Sections: 23 - Name: .text 24 Type: SHT_PROGBITS 25 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 26Symbols: 27 - Name: Local1 28 Section: .text 29 - Name: Local2 30 Section: .text 31 - Name: Global1 32 Section: .text 33 Binding: STB_GLOBAL 34 - Name: Global2 35 Section: .text 36 Binding: STB_GLOBAL 37 - Name: Weak1 38 Section: .text 39 Binding: STB_WEAK 40 - Name: Weak2 41 Section: .text 42 Binding: STB_WEAK 43 44# CHECK: Symbol table '.symtab' contains 7 entries: 45# CHECK-NEXT: Num: Value Size Type Bind Vis Ndx Name 46# CHECK-NEXT: 0: {{.*}} LOCAL {{.*}} 47# CHECK-NEXT: 1: {{.*}} LOCAL {{.*}} Local2 48# CHECK-NEXT: 2: {{.*}} GLOBAL {{.*}} Local1 49# CHECK-NEXT: 3: {{.*}} GLOBAL {{.*}} Global1 50# CHECK-NEXT: 4: {{.*}} GLOBAL {{.*}} Global2 51# CHECK-NEXT: 5: {{.*}} GLOBAL {{.*}} Weak1 52# CHECK-NEXT: 6: {{.*}} WEAK {{.*}} Weak2 53