mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
ld-gc tests on underscore targets
Adjust tests to reference __start and __stop syms with an extra leading underscore when appropriate, and run tests on more targets. * testsuite/ld-gc/gc.exp: Define UNDERSCORE in ASFLAGS. Move tests with ELF section directives to is_elf_format block. * testsuite/ld-gc/abi-note.d: Run on more targets. * testsuite/ld-gc/pr19167.d: Likewise and adjust xfails. * testsuite/ld-gc/start.d: Likewise. * testsuite/ld-gc/start2.d: Likewise. * testsuite/ld-gc/stop.d: Likewise. * testsuite/ld-gc/pr19167a.s: Add support for underscore targets. * testsuite/ld-gc/start.s: Likewise. * testsuite/ld-gc/start2.s: Likewise.
This commit is contained in:
13
ld/ChangeLog
13
ld/ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2021-03-03 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* testsuite/ld-gc/gc.exp: Define UNDERSCORE in ASFLAGS.
|
||||||
|
Move tests with ELF section directives to is_elf_format block.
|
||||||
|
* testsuite/ld-gc/abi-note.d: Run on more targets.
|
||||||
|
* testsuite/ld-gc/pr19167.d: Likewise and adjust xfails.
|
||||||
|
* testsuite/ld-gc/start.d: Likewise.
|
||||||
|
* testsuite/ld-gc/start2.d: Likewise.
|
||||||
|
* testsuite/ld-gc/stop.d: Likewise.
|
||||||
|
* testsuite/ld-gc/pr19167a.s: Add support for underscore targets.
|
||||||
|
* testsuite/ld-gc/start.s: Likewise.
|
||||||
|
* testsuite/ld-gc/start2.s: Likewise.
|
||||||
|
|
||||||
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
||||||
|
|
||||||
* ldelfgen.c (ldelf_ctf_strtab_iter_cb): Skip zero-refcount strings.
|
* ldelfgen.c (ldelf_ctf_strtab_iter_cb): Skip zero-refcount strings.
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#name: --gc-sections with note section
|
#name: --gc-sections with note section
|
||||||
#ld: --gc-sections -e _start
|
#ld: --gc-sections -e _start
|
||||||
#readelf: -S --wide
|
#readelf: -S --wide
|
||||||
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
|
|
||||||
|
|
||||||
#...
|
#...
|
||||||
.* .note.ABI-tag[ ]+NOTE.*
|
.* .note.ABI-tag[ ]+NOTE.*
|
||||||
|
@ -86,15 +86,21 @@ test_gc "Check --gc-section/-q" "gcrexe" $ld "--gc-sections -q -e main"
|
|||||||
test_gc "Check --gc-section/-r/-e" "gcrel" $ld "-r --gc-sections -e main"
|
test_gc "Check --gc-section/-r/-e" "gcrel" $ld "-r --gc-sections -e main"
|
||||||
test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func"
|
test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func"
|
||||||
|
|
||||||
|
set old_asflags $ASFLAGS
|
||||||
|
if [is_underscore_target] {
|
||||||
|
set ASFLAGS "$ASFLAGS --defsym UNDERSCORE=1"
|
||||||
|
}
|
||||||
|
|
||||||
run_dump_test "noent"
|
run_dump_test "noent"
|
||||||
run_dump_test "abi-note"
|
|
||||||
run_dump_test "start"
|
|
||||||
run_dump_test "start2"
|
|
||||||
run_dump_test "stop"
|
|
||||||
run_dump_test "pr19167"
|
|
||||||
if { [is_elf_format] } then {
|
if { [is_elf_format] } then {
|
||||||
|
run_dump_test "abi-note"
|
||||||
run_dump_test "all-debug-sections"
|
run_dump_test "all-debug-sections"
|
||||||
|
run_dump_test "pr19167"
|
||||||
run_dump_test "pr20882"
|
run_dump_test "pr20882"
|
||||||
|
run_dump_test "stop"
|
||||||
|
run_dump_test "start"
|
||||||
|
run_dump_test "start2"
|
||||||
}
|
}
|
||||||
|
|
||||||
if { [is_elf_format] && [check_shared_lib_support] } then {
|
if { [is_elf_format] && [check_shared_lib_support] } then {
|
||||||
@ -175,3 +181,5 @@ if { [is_elf_format] && [check_shared_lib_support] \
|
|||||||
if { [is_elf_format] } then {
|
if { [is_elf_format] } then {
|
||||||
run_dump_test "skip-map-discarded"
|
run_dump_test "skip-map-discarded"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set ASFLAGS $old_asflags
|
||||||
|
@ -2,8 +2,7 @@
|
|||||||
#source: pr19167b.s
|
#source: pr19167b.s
|
||||||
#ld: --gc-sections -e _start
|
#ld: --gc-sections -e _start
|
||||||
#objdump: -s -j _foo
|
#objdump: -s -j _foo
|
||||||
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
|
#xfail: bfin-*-*linux* frv-*-*linux* lm32-*-*linux*
|
||||||
#xfail: frv-*-* metag-*-*
|
|
||||||
|
|
||||||
#...
|
#...
|
||||||
Contents of section _foo:
|
Contents of section _foo:
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
.globl _start
|
.globl _start
|
||||||
_start:
|
_start:
|
||||||
|
.ifdef UNDERSCORE
|
||||||
|
.dc.a ___start__foo
|
||||||
|
.else
|
||||||
.dc.a __start__foo
|
.dc.a __start__foo
|
||||||
|
.endif
|
||||||
.section _foo,"aw",%progbits
|
.section _foo,"aw",%progbits
|
||||||
foo:
|
foo:
|
||||||
.ascii "This is "
|
.ascii "This is "
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
#name: --gc-sections with __start_
|
#name: --gc-sections with __start_
|
||||||
#ld: --gc-sections -e _start
|
#ld: --gc-sections -e _start
|
||||||
#nm: -n
|
#nm: -n
|
||||||
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
|
#xfail: bfin-*-*linux* frv-*-*linux* lm32-*-*linux*
|
||||||
#xfail: frv-*-* metag-*-*
|
|
||||||
|
|
||||||
#...
|
#...
|
||||||
[0-9a-f]+ D +__start__foo
|
[0-9a-f]+ D +_?__start__foo
|
||||||
#...
|
#...
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
.globl _start
|
.globl _start
|
||||||
_start:
|
_start:
|
||||||
|
.ifdef UNDERSCORE
|
||||||
|
.dc.a ___start__foo
|
||||||
|
.else
|
||||||
.dc.a __start__foo
|
.dc.a __start__foo
|
||||||
|
.endif
|
||||||
.section _foo,"aw",%progbits
|
.section _foo,"aw",%progbits
|
||||||
foo:
|
foo:
|
||||||
.long 1
|
.long 1
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#name: --gc-sections with -z start-stop-gc
|
#name: --gc-sections with -z start-stop-gc
|
||||||
#ld: --gc-sections -e _start -z start-stop-gc
|
#ld: --gc-sections -e _start -z start-stop-gc
|
||||||
#nm: -n
|
#nm: -n
|
||||||
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
|
#notarget: [uses_genelf]
|
||||||
#xfail: bfin-*-*linux* frv-*-*
|
#xfail: bfin-*-*linux* frv-*-*linux*
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
[0-9a-f]+ D +__start__foo
|
[0-9a-f]+ D +_?__start__foo
|
||||||
#...
|
#...
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
.globl _start
|
.globl _start
|
||||||
_start:
|
_start:
|
||||||
|
.ifdef UNDERSCORE
|
||||||
|
.weak ___start__foo
|
||||||
|
.dc.a ___start__foo
|
||||||
|
.else
|
||||||
.weak __start__foo
|
.weak __start__foo
|
||||||
.dc.a __start__foo
|
.dc.a __start__foo
|
||||||
|
.endif
|
||||||
.section _foo,"aw",%progbits
|
.section _foo,"aw",%progbits
|
||||||
foo:
|
foo:
|
||||||
.long 1
|
.long 1
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
#name: --gc-sections removing __stop_
|
#name: --gc-sections removing __stop_
|
||||||
#ld: --gc-sections -e _start
|
#ld: --gc-sections -e _start
|
||||||
#nm: -n
|
#nm: -n
|
||||||
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
|
|
||||||
|
|
||||||
#failif
|
#failif
|
||||||
#...
|
#...
|
||||||
[0-9a-f]+ D +__stop__foo
|
[0-9a-f]+ D +_?__stop__foo
|
||||||
#...
|
#...
|
||||||
|
Reference in New Issue
Block a user