From ed8c5dcdc0253fa6bf1e81ae195fe56b3df7993c Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Sat, 24 May 2003 19:38:18 +0000 Subject: libstdc++.so breaks on amd64 due to bogons in our build, so prevent the shared library being built for amd64. The problem is that libstdc++.so is produced with 'cc -shared'. This has an internal -lgcc, which is not PIC. libstdc++.so uses exceptions and the dwarf2 unwinder, which are in libgcc.a. As a result, non-PIC code gets pulled into libstdc++.so. This is fatal on amd64 when certain relocation types cannot be used in PIC mode. The official FSF solution to this is to have libgcc.so with internal ELF symbol versioning to solve the ABI problem, but I dont want to fight that battle yet. I tried making libgcc_pic.a (which worked fine), but thats not something for the 11th hour before a release. Approved by: re (amd64 "safe" stuff) --- gnu/lib/libstdc++/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/lib/libstdc++/Makefile b/gnu/lib/libstdc++/Makefile index e8853641657c..057339c6fedf 100644 --- a/gnu/lib/libstdc++/Makefile +++ b/gnu/lib/libstdc++/Makefile @@ -8,6 +8,11 @@ SUPDIR= ${SRCDIR}/libsupc++ ${SRCDIR}/config/locale/generic ${SRCDIR} ${SRCDIR}/std \ ${SUPDIR} ${GCCDIR} +.if ${MACHINE_ARCH} == "amd64" +NOPIC= broken # need libgcc.so or libgcc_pic.a +NOSHARED= broken +.endif + #SUBDIR= doc LIB= stdc++ -- cgit v1.2.3