|
8 | 8 | # LH-SYMS-DAG: LOCAL HIDDEN 1 foo1
|
9 | 9 | # LH-SYMS-DAG: GLOBAL HIDDEN 1 foo2
|
10 | 10 | # LH-SYMS-DAG: GLOBAL HIDDEN 1 foo3
|
| 11 | +# LH-SYMS-DAG: LOCAL HIDDEN 1 foo4 |
| 12 | +# LH-SYMS-DAG: LOCAL HIDDEN 1 foo5 |
11 | 13 |
|
12 | 14 | ## Check --skip-symbol functionality when changing symbol bindings.
|
13 | 15 | # RUN: llvm-objcopy %t.o %t2.o --localize-hidden --skip-symbol=foo3
|
14 | 16 | # RUN: llvm-readelf -s %t2.o | FileCheck %s --check-prefix=LH-SYM
|
15 | 17 | # LH-SYM-DAG: LOCAL HIDDEN 1 foo1
|
16 | 18 | # LH-SYM-DAG: LOCAL HIDDEN 1 foo2
|
17 | 19 | # LH-SYM-DAG: GLOBAL HIDDEN 1 foo3
|
| 20 | +# LH-SYM-DAG: LOCAL HIDDEN 1 foo4 |
| 21 | +# LH-SYM-DAG: LOCAL HIDDEN 1 foo5 |
18 | 22 |
|
19 | 23 | ## Check --skip-symbols functionality when changing symbol names.
|
20 | 24 | # RUN: echo -e "foo1 bar1\nfoo2 bar2" > %t.renames.list
|
|
24 | 28 | # RS-SYMS-DAG: bar1
|
25 | 29 | # RS-SYMS-DAG: foo2
|
26 | 30 | # RS-SYMS-DAG: foo3
|
| 31 | +# RS-SYMS-DAG: foo4 |
| 32 | +# RS-SYMS-DAG: foo5 |
27 | 33 |
|
28 | 34 | ## Check --skip-symbol functionality when changing symbol names.
|
29 |
| -# RUN: llvm-objcopy %t.o %t4.o --redefine-sym=foo1=bar1 --skip-symbol='fo*' --wildcard |
| 35 | +# RUN: llvm-objcopy %t.o %t4.o --redefine-syms=%t.renames.list \ |
| 36 | +# RUN: --skip-symbol='fo*' --wildcard |
30 | 37 | # RUN: llvm-readelf -s %t4.o | FileCheck %s --check-prefix=RS-SYM
|
31 | 38 | # RS-SYM-DAG: foo1
|
32 | 39 | # RS-SYM-DAG: foo2
|
33 | 40 | # RS-SYM-DAG: foo3
|
| 41 | +# RS-SYM-DAG: foo4 |
| 42 | +# RS-SYM-DAG: foo5 |
34 | 43 |
|
35 | 44 | ## Check the functionality when using skip options multiple times.
|
36 |
| -# RUN: echo "foo3" > %t.symbol.list |
| 45 | +# RUN: echo "foo3" > %t.symbol0.list |
| 46 | +# RUN: echo "foo4" > %t.symbol1.list |
37 | 47 | # RUN: llvm-objcopy %t.o %t5.o --set-symbol-visibility='foo*'=internal --wildcard \
|
38 |
| -# RUN: --skip-symbol=foo1 --skip-symbol=foo2 --skip-symbols=%t.symbol.list |
| 48 | +# RUN: --skip-symbol=foo1 --skip-symbol=foo2 \ |
| 49 | +# RUN: --skip-symbols=%t.symbol0.list --skip-symbols=%t.symbol1.list |
39 | 50 | # RUN: llvm-readelf -s %t5.o | FileCheck %s --check-prefix=BOTH
|
40 |
| -## All the symbols are skipped. |
41 | 51 | # BOTH-DAG: GLOBAL HIDDEN 1 foo1
|
42 | 52 | # BOTH-DAG: GLOBAL HIDDEN 1 foo2
|
43 | 53 | # BOTH-DAG: GLOBAL HIDDEN 1 foo3
|
| 54 | +# BOTH-DAG: GLOBAL HIDDEN 1 foo4 |
| 55 | +## Only foo5 is not skipped. |
| 56 | +# BOTH-DAG: GLOBAL INTERNAL 1 foo5 |
44 | 57 |
|
45 | 58 | ## Check that using an invalid symbol name regex generates an error.
|
46 | 59 | # RUN: echo '*.' > %t.symbols.regex
|
@@ -77,3 +90,11 @@ Symbols:
|
77 | 90 | Section: .text
|
78 | 91 | Binding: STB_GLOBAL
|
79 | 92 | Other: [ STV_HIDDEN ]
|
| 93 | + - Name: foo4 |
| 94 | + Section: .text |
| 95 | + Binding: STB_GLOBAL |
| 96 | + Other: [ STV_HIDDEN ] |
| 97 | + - Name: foo5 |
| 98 | + Section: .text |
| 99 | + Binding: STB_GLOBAL |
| 100 | + Other: [ STV_HIDDEN ] |
0 commit comments