llvm-project/llvm/test/tools/llvm-objcopy/keep-global-symbols-mix-glo...

52 lines
1.5 KiB
Plaintext

# RUN: yaml2obj %s > %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-readobj -elf-output-style=GNU -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:
Local:
- Name: Local1
Section: .text
- Name: Local2
Section: .text
Weak:
- Name: Weak1
Section: .text
- Name: Weak2
Section: .text
Global:
- Name: Global1
Section: .text
- Name: Global2
Section: .text
# 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