forked from Imagelibrary/binutils-gdb
binutils/
* objcopy.c (localize_hidden): New variable. (OPTION_LOCALIZE_HIDDEN): New command_line_switch value. (copy_options): Add --localize-hidden. (copy_usage): Mention --localize-hidden. (is_hidden_symbol): New function. (filter_symbols): Handle localize_hidden. (copy_object): Call filter_symbols if localize_hidden. (copy_main): Handle OPTION_LOCALIZE_HIDDEN. * doc/binutils.texi (--localize-hidden): Document new option. binutils/testsuite/ * binutils-all/localize-hidden-1.s, * binutils-all/localize-hidden-1.d, * binutils-all/localize-hidden-2.s, * binutils-all/localize-hidden-2.d: New tests. * binutils-all/objcopy.exp: Run them.
This commit is contained in:
17
binutils/testsuite/binutils-all/localize-hidden-1.d
Normal file
17
binutils/testsuite/binutils-all/localize-hidden-1.d
Normal file
@@ -0,0 +1,17 @@
|
||||
#PROG: objcopy
|
||||
#readelf: --symbols
|
||||
#objcopy: --localize-hidden
|
||||
#name: --localize-hidden test 1
|
||||
#...
|
||||
.*: 0+1200 +0 +NOTYPE +LOCAL +HIDDEN +ABS +Lhidden
|
||||
.*: 0+1300 +0 +NOTYPE +LOCAL +INTERNAL +ABS +Linternal
|
||||
.*: 0+1400 +0 +NOTYPE +LOCAL +PROTECTED +ABS +Lprotected
|
||||
.*: 0+1100 +0 +NOTYPE +LOCAL +DEFAULT +ABS +Ldefault
|
||||
.*: 0+2200 +0 +NOTYPE +LOCAL +HIDDEN +ABS +Ghidden
|
||||
.*: 0+2300 +0 +NOTYPE +LOCAL +INTERNAL +ABS +Ginternal
|
||||
.*: 0+3200 +0 +NOTYPE +LOCAL +HIDDEN +ABS +Whidden
|
||||
.*: 0+3300 +0 +NOTYPE +LOCAL +INTERNAL +ABS +Winternal
|
||||
.*: 0+2100 +0 +NOTYPE +GLOBAL +DEFAULT +ABS +Gdefault
|
||||
.*: 0+2400 +0 +NOTYPE +GLOBAL +PROTECTED +ABS +Gprotected
|
||||
.*: 0+3100 +0 +NOTYPE +WEAK +DEFAULT +ABS +Wdefault
|
||||
.*: 0+3400 +0 +NOTYPE +WEAK +PROTECTED +ABS +Wprotected
|
||||
36
binutils/testsuite/binutils-all/localize-hidden-1.s
Normal file
36
binutils/testsuite/binutils-all/localize-hidden-1.s
Normal file
@@ -0,0 +1,36 @@
|
||||
.globl Gdefault
|
||||
.globl Ghidden
|
||||
.globl Ginternal
|
||||
.globl Gprotected
|
||||
|
||||
.weak Wdefault
|
||||
.weak Whidden
|
||||
.weak Winternal
|
||||
.weak Wprotected
|
||||
|
||||
.hidden Lhidden
|
||||
.hidden Ghidden
|
||||
.hidden Whidden
|
||||
|
||||
.internal Linternal
|
||||
.internal Ginternal
|
||||
.internal Winternal
|
||||
|
||||
.protected Lprotected
|
||||
.protected Gprotected
|
||||
.protected Wprotected
|
||||
|
||||
.equ Ldefault, 0x1100
|
||||
.equ Lhidden, 0x1200
|
||||
.equ Linternal, 0x1300
|
||||
.equ Lprotected, 0x1400
|
||||
|
||||
.equ Gdefault, 0x2100
|
||||
.equ Ghidden, 0x2200
|
||||
.equ Ginternal, 0x2300
|
||||
.equ Gprotected, 0x2400
|
||||
|
||||
.equ Wdefault, 0x3100
|
||||
.equ Whidden, 0x3200
|
||||
.equ Winternal, 0x3300
|
||||
.equ Wprotected, 0x3400
|
||||
7
binutils/testsuite/binutils-all/localize-hidden-2.d
Normal file
7
binutils/testsuite/binutils-all/localize-hidden-2.d
Normal file
@@ -0,0 +1,7 @@
|
||||
#PROG: objcopy
|
||||
#nm: -n
|
||||
#objcopy: --localize-hidden
|
||||
#name: --localize-hidden test 2
|
||||
#...
|
||||
0+100 A G
|
||||
#pass
|
||||
2
binutils/testsuite/binutils-all/localize-hidden-2.s
Normal file
2
binutils/testsuite/binutils-all/localize-hidden-2.s
Normal file
@@ -0,0 +1,2 @@
|
||||
.globl G
|
||||
.equ G,0x100
|
||||
@@ -728,3 +728,8 @@ if [is_elf_format] {
|
||||
|
||||
run_dump_test "copy-2"
|
||||
run_dump_test "copy-3"
|
||||
|
||||
if [is_elf_format] {
|
||||
run_dump_test "localize-hidden-1"
|
||||
}
|
||||
run_dump_test "localize-hidden-2"
|
||||
|
||||
Reference in New Issue
Block a user