aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-ifunc/pr16467c.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2014-01-21 15:42:43 -0800
committerH.J. Lu <hjl.tools@gmail.com>2014-01-21 15:42:51 -0800
commit4584ec12076e088cf36965b88ef8710ca85491f9 (patch)
tree9b22f0bbf45bb9e59e1f3516cfb773d556d2a567 /ld/testsuite/ld-ifunc/pr16467c.c
parentefec45729843f9b1864b2a9b491adff85304525a (diff)
downloadgdb-4584ec12076e088cf36965b88ef8710ca85491f9.zip
gdb-4584ec12076e088cf36965b88ef8710ca85491f9.tar.gz
gdb-4584ec12076e088cf36965b88ef8710ca85491f9.tar.bz2
Check incompatible existing default symbol definition
After resolving a versioned reference, foo@VER1, to a default versioned definition, foo@@VER1, from a shared object, we also merge it with the existing regular default symbol definition, foo. When foo is IFUNC and foo@@VER1 aren't, we will merge 2 incompatible definitions. This patch avoids merging foo@@VER1 definition with foo definition if one is IFUNC and the other isn't.
Diffstat (limited to 'ld/testsuite/ld-ifunc/pr16467c.c')
-rw-r--r--ld/testsuite/ld-ifunc/pr16467c.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ld/testsuite/ld-ifunc/pr16467c.c b/ld/testsuite/ld-ifunc/pr16467c.c
new file mode 100644
index 0000000..e2a901c
--- /dev/null
+++ b/ld/testsuite/ld-ifunc/pr16467c.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+const char* sd_get_seats(void);
+
+int
+main (int argc, char **argv)
+{
+ printf("%s\n", sd_get_seats());
+ return 0;
+}