2020-01-22 02:02:25 +01:00
|
|
|
# RUN: yaml2obj %s -o %t.o
|
2018-08-18 00:34:48 +02:00
|
|
|
|
|
|
|
# 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
|
2019-05-01 07:55:22 +02:00
|
|
|
# RUN: llvm-readelf --symbols %t.2.o | FileCheck %s
|
2018-08-18 00:34:48 +02:00
|
|
|
|
|
|
|
!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:
|
2019-04-03 16:53:42 +02:00
|
|
|
- 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
|
2018-08-18 00:34:48 +02:00
|
|
|
|
|
|
|
# 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
|