From: Alan Modra Date: Tue, 30 Jan 2018 11:41:00 +0000 (+1030) Subject: Add --gc-sections test checking removal of __start/__stop symbols. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=040b4a9eb8430dc5e0fc657da88b08ab730b97ee;p=binutils-gdb.git Add --gc-sections test checking removal of __start/__stop symbols. Well, just __stop__foo but that should be good enough. * testsuite/ld-gc/stop.d, * testsuite/ld-gc/stop.s: New test. * testsuite/ld-gc/gc.exp: Run it. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 83c9689f37a..f29d51ada00 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2018-01-30 Alan Modra + + * testsuite/ld-gc/stop.d, + * testsuite/ld-gc/stop.s: New test. + * testsuite/ld-gc/gc.exp: Run it. + 2018-01-30 Maciej W. Rozycki PR ld/22649 diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp index eaaa8e158ab..ad983ef7cdb 100644 --- a/ld/testsuite/ld-gc/gc.exp +++ b/ld/testsuite/ld-gc/gc.exp @@ -104,6 +104,7 @@ test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func" run_dump_test "noent" run_dump_test "abi-note" run_dump_test "start" +run_dump_test "stop" run_dump_test "pr19167" if { [is_elf_format] } then { run_dump_test "all-debug-sections" diff --git a/ld/testsuite/ld-gc/stop.d b/ld/testsuite/ld-gc/stop.d new file mode 100644 index 00000000000..f8a32d6cc90 --- /dev/null +++ b/ld/testsuite/ld-gc/stop.d @@ -0,0 +1,10 @@ +#name: --gc-sections removing __stop_ +#ld: --gc-sections -e _start +#nm: -n +#target: *-*-linux* *-*-gnu* +#notarget: *-*-*aout *-*-*oldld frv-*-linux* metag-*-linux* + +#failif +#... +[0-9a-f]+ D +__stop__foo +#... diff --git a/ld/testsuite/ld-gc/stop.s b/ld/testsuite/ld-gc/stop.s new file mode 100644 index 00000000000..cb46d047f4e --- /dev/null +++ b/ld/testsuite/ld-gc/stop.s @@ -0,0 +1,8 @@ + .text + .globl _start +_start: + .dc.a 0 + + .section _foo,"aw",%progbits +foo: + .long 1