From b5e718b1432fba45f848c4e5a660f18e4780fea5 Mon Sep 17 00:00:00 2001 From: peter 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(+) (limited to 'gnu/lib/libstdc++') diff --git a/gnu/lib/libstdc++/Makefile b/gnu/lib/libstdc++/Makefile index e885364..057339c 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.1