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