aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-plugin/pr22220main.cc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-09-28 17:11:38 +0930
committerAlan Modra <amodra@gmail.com>2017-09-28 17:36:36 +0930
commit1a3b5c34fe371f618402f811a981839c9191ff9f (patch)
treeaac6ef259428bece256c9ab1fb0e527e363116d1 /ld/testsuite/ld-plugin/pr22220main.cc
parent50300765aa46894d9347f760fd10dab829d564f7 (diff)
downloadbinutils-1a3b5c34fe371f618402f811a981839c9191ff9f.zip
binutils-1a3b5c34fe371f618402f811a981839c9191ff9f.tar.gz
binutils-1a3b5c34fe371f618402f811a981839c9191ff9f.tar.bz2
PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY
non_ir_ref_dynamic wasn't being set in the case where we have a versioned dynamic symbol definition with a non-versioned matching IR symbol. bfd/ PR 22220 * elflink.c (_bfd_elf_merge_symbol): Set non_ir_ref_dynamic in a case where plugin_notice isn't called. ld/ * testsuite/ld-plugin/pr22220.h, * testsuite/ld-plugin/pr22220lib.cc, * testsuite/ld-plugin/pr22220lib.ver, * testsuite/ld-plugin/pr22220main.cc: New test. * testsuite/ld-plugin/lto.exp: Run it.
Diffstat (limited to 'ld/testsuite/ld-plugin/pr22220main.cc')
-rw-r--r--ld/testsuite/ld-plugin/pr22220main.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/ld/testsuite/ld-plugin/pr22220main.cc b/ld/testsuite/ld-plugin/pr22220main.cc
new file mode 100644
index 0000000..38c206f
--- /dev/null
+++ b/ld/testsuite/ld-plugin/pr22220main.cc
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include "pr22220.h"
+
+int main()
+{
+ if (boo() == goo())
+ {
+ printf ("PASS\n");
+ return 0;
+ }
+ return 1;
+}