From 4584ec12076e088cf36965b88ef8710ca85491f9 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 21 Jan 2014 15:42:43 -0800 Subject: 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. --- ld/testsuite/ld-ifunc/pr16467c.c | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 ld/testsuite/ld-ifunc/pr16467c.c (limited to 'ld/testsuite/ld-ifunc/pr16467c.c') 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 +const char* sd_get_seats(void); + +int +main (int argc, char **argv) +{ + printf("%s\n", sd_get_seats()); + return 0; +} -- cgit v1.1