Module Name:    src
Committed By:   christos
Date:           Tue Aug 26 11:10:03 UTC 2014

Modified Files:
        src/tests/libexec/ld.elf_so/helper_ifunc_dso: h_helper_ifunc.c

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


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
    src/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c
diff -u src/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c:1.1 src/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c:1.2
--- src/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c:1.1	Mon Aug 25 16:40:53 2014
+++ src/tests/libexec/ld.elf_so/helper_ifunc_dso/h_helper_ifunc.c	Tue Aug 26 07:10:02 2014
@@ -49,4 +49,15 @@ int (*resolve_ifunc(void))(void)
 	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

Reply via email to