Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/libexec/ld.elf_so/helper_ifunc_dso effectively disable...



details:   https://anonhg.NetBSD.org/src/rev/330c41a26eae
branches:  trunk
changeset: 331832:330c41a26eae
user:      christos <christos%NetBSD.org@localhost>
date:      Tue Aug 26 11:10:02 2014 +0000

description:
effectively disable the test to fix the build and explain why.

diffstat:

 tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c |  11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diffs (19 lines):

diff -r e586cb7477bb -r 330c41a26eae tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c
--- a/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c Tue Aug 26 10:58:13 2014 +0000
+++ b/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c Tue Aug 26 11:10:02 2014 +0000
@@ -49,4 +49,15 @@
        return e && strcmp(e, "1") == 0 ? ifunc2 : ifunc1;
 }
 
+#ifdef __HAVE_IFUNC
+// XXX: m68k, vax, mips, sh3 (and others) binutils don't support this.
+// Needs to be staged in for archs that support it.
 __ifunc(ifunc, resolve_ifunc);
+#else
+int ifunc(void);
+int
+ifunc(void) {
+       const char *e = getenv("USE_IFUNC2");
+       return e && strcmp(e, "1") == 0 ? ifunc2() : ifunc1();
+}
+#endif



Home | Main Index | Thread Index | Old Index