1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| # 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-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
|