From 814b6b4c9d157ec1c6d88f738c9020f74adcfbb2 Mon Sep 17 00:00:00 2001 From: Maho Nakata Date: Wed, 8 Oct 2003 00:04:36 +0000 Subject: IFC fails to link when invoked with -ax or -x option because a static library of ifc has an unresolved symbol, __sigsetjmp. The following is an example of error messages: PR: 57574 Submitted by: Masakazu HIGAKI --- lang/ifc7/Makefile | 3 ++- lang/ifc7/files/ld.c | 10 +++++++++- lang/ifc7/files/linux_file.c | 3 --- 3 files changed, 11 insertions(+), 5 deletions(-) (limited to 'lang/ifc7') diff --git a/lang/ifc7/Makefile b/lang/ifc7/Makefile index f70f070dafa3..4e2dc6c9077b 100644 --- a/lang/ifc7/Makefile +++ b/lang/ifc7/Makefile @@ -122,7 +122,8 @@ do-build: .for i in libcxa.a libimf.a libirc.a libircmt.a libunwind.a \ libBINDF90.a libCEPCF90.a libF90.a libIEPCF90.a libPEPCF90.a \ libcprts.a libintrins.a libompstub.a - @${OBJCOPY} --redefine-sym stdin=__stdinp \ + @${OBJCOPY} --redefine-sym __sigsetjmp=sigsetjmp \ + --redefine-sym stdin=__stdinp \ --redefine-sym stdout=__stdoutp \ --redefine-sym stderr=__stderrp \ ${WRKSRC}/opt/intel/${COMPILERDIR}/ia32/lib/${i} diff --git a/lang/ifc7/files/ld.c b/lang/ifc7/files/ld.c index 7f3073d51681..e2fba2874d5e 100644 --- a/lang/ifc7/files/ld.c +++ b/lang/ifc7/files/ld.c @@ -28,7 +28,7 @@ * Based on a shell-script written by Dan Nelson * with some modifications by Alexander Leidinger . * - * $FreeBSD: /tmp/pcvs/ports/lang/ifc7/files/Attic/ld.c,v 1.2 2003-04-28 22:17:47 maho Exp $ + * $FreeBSD: /tmp/pcvs/ports/lang/ifc7/files/Attic/ld.c,v 1.3 2003-10-08 00:04:36 maho Exp $ */ /* Uses code marked: */ @@ -206,6 +206,10 @@ main(int argc, char *argv[], char *envp[]) dynamic++; continue; } + if (ARGCMP("-shared")) { + dynamic++; + continue; + } /* * Just link libstlport_icc* once when compiling the stlport @@ -334,7 +338,11 @@ main(int argc, char *argv[], char *envp[]) /* Switch Linux stuff to FreeBSD counterparts. */ if (ARGCMP("/lib/ld-linux.so.2")) { +#if __FreeBSD_version >= 501105 + addarg(&al, "/libexec/ld-elf.so.1", 1); +#else addarg(&al, "/usr/libexec/ld-elf.so.1", 1); +#endif continue; } if (ARGCMP("-L/usr/lib")) { diff --git a/lang/ifc7/files/linux_file.c b/lang/ifc7/files/linux_file.c index c6c6dd46fdc1..61f5acd32712 100644 --- a/lang/ifc7/files/linux_file.c +++ b/lang/ifc7/files/linux_file.c @@ -30,9 +30,6 @@ #include #include -static short unsigned int ctype_b[256] = { 0 }; -short unsigned int *__ctype_b = ctype_b; - /* This matches struct stat64 in glibc2.1, hence the absolutely * insane amounts of padding around dev_t's. */ -- cgit v1.2.3