aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elf
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2014-02-06 09:44:25 -0800
committerH.J. Lu <hjl.tools@gmail.com>2014-02-10 08:05:54 -0800
commitd6f6f455778b10037503bcc39352b5174bba5e45 (patch)
treebb55f13f52e8450b540735993d05ce7d367cbf29 /ld/testsuite/ld-elf
parent8577303939d47fc3dd433ed31f78ee47c6ad0aa8 (diff)
downloadfsf-binutils-gdb-d6f6f455778b10037503bcc39352b5174bba5e45.zip
fsf-binutils-gdb-d6f6f455778b10037503bcc39352b5174bba5e45.tar.gz
fsf-binutils-gdb-d6f6f455778b10037503bcc39352b5174bba5e45.tar.bz2
Mark symbol in executables if it matches dynamic_list
bfd/ PR gold/16530 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in executables if it matches dynamic_list. ld/testsuite/ PR gold/16530 * ld-elf/dynamic-1.c: New file. * ld-elf/dynamic-1.rd: Likewise. * ld-elf/dynamic-1.syms: Likewise. * ld-elf/shared.exp (build_tests): Add dynamic-1.
Diffstat (limited to 'ld/testsuite/ld-elf')
-rw-r--r--ld/testsuite/ld-elf/dynamic-1.c10
-rw-r--r--ld/testsuite/ld-elf/dynamic-1.rd5
-rw-r--r--ld/testsuite/ld-elf/dynamic-1.syms3
-rw-r--r--ld/testsuite/ld-elf/shared.exp3
4 files changed, 21 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/dynamic-1.c b/ld/testsuite/ld-elf/dynamic-1.c
new file mode 100644
index 0000000..439ffd1
--- /dev/null
+++ b/ld/testsuite/ld-elf/dynamic-1.c
@@ -0,0 +1,10 @@
+void
+dynamic ()
+{
+}
+
+int
+main ()
+{
+ return 0;
+}
diff --git a/ld/testsuite/ld-elf/dynamic-1.rd b/ld/testsuite/ld-elf/dynamic-1.rd
new file mode 100644
index 0000000..2c2f23b
--- /dev/null
+++ b/ld/testsuite/ld-elf/dynamic-1.rd
@@ -0,0 +1,5 @@
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?dynamic
+#...
diff --git a/ld/testsuite/ld-elf/dynamic-1.syms b/ld/testsuite/ld-elf/dynamic-1.syms
new file mode 100644
index 0000000..c9517f8
--- /dev/null
+++ b/ld/testsuite/ld-elf/dynamic-1.syms
@@ -0,0 +1,3 @@
+{
+ dynamic;
+};
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index 981ce71..949851f 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -227,6 +227,9 @@ set build_tests {
{"Build rdynamic-1"
"-rdynamic -Wl,--gc-sections" "-ffunction-sections"
{rdynamic-1.c} {{readelf {-s} rdynamic-1.rd}} "rdynamic-1"}
+ {"Build dynamic-1"
+ "-Wl,--dynamic-list,dynamic-1.syms -Wl,--gc-sections" "-ffunction-sections"
+ {dynamic-1.c} {{readelf {-s} dynamic-1.rd}} "dynamic-1"}
}
run_cc_link_tests $build_tests