llvm-for-llvmta/test/tools/llvm-objcopy/ELF/keep-global-symbols-mix-glo...

53 lines
1.5 KiB
Plaintext
Raw Normal View History

2022-04-25 10:02:23 +02:00
# RUN: yaml2obj %s -o %t.o
# Tests --keep-global-symbol when used in combination with --globalize-symbol on
# a different symbol.
# RUN: llvm-objcopy \
# RUN: --globalize-symbol Local1 \
# RUN: --keep-global-symbol Local2 \
# RUN: --globalize-symbol Weak1 \
# RUN: --keep-global-symbol Weak2 \
# RUN: --globalize-symbol Global1 \
# RUN: --keep-global-symbol Global2 \
# RUN: %t.o %t.2.o
# RUN: llvm-readelf --symbols %t.2.o | FileCheck %s
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_X86_64
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Symbols:
- Name: Local1
Section: .text
- Name: Local2
Section: .text
- Name: Global1
Section: .text
Binding: STB_GLOBAL
- Name: Global2
Section: .text
Binding: STB_GLOBAL
- Name: Weak1
Section: .text
Binding: STB_WEAK
- Name: Weak2
Section: .text
Binding: STB_WEAK
# CHECK: Symbol table '.symtab' contains 7 entries:
# CHECK-NEXT: Num: Value Size Type Bind Vis Ndx Name
# CHECK-NEXT: 0: {{.*}} LOCAL {{.*}}
# CHECK-NEXT: 1: {{.*}} LOCAL {{.*}} Local2
# CHECK-NEXT: 2: {{.*}} GLOBAL {{.*}} Local1
# CHECK-NEXT: 3: {{.*}} GLOBAL {{.*}} Global1
# CHECK-NEXT: 4: {{.*}} GLOBAL {{.*}} Global2
# CHECK-NEXT: 5: {{.*}} GLOBAL {{.*}} Weak1
# CHECK-NEXT: 6: {{.*}} WEAK {{.*}} Weak2