diff options
authorPeter Wemm <peter@FreeBSD.org>2003-05-24 19:38:18 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-05-24 19:38:18 +0000
commited8c5dcdc0253fa6bf1e81ae195fe56b3df7993c (patch)
parent14682d7e53089e1e66c0e88c131a3bee2ca48bff (diff)
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)
Notes: svn path=/head/; revision=115287
1 files changed, 5 insertions, 0 deletions
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 \
+.if ${MACHINE_ARCH} == "amd64"
+NOPIC= broken # need libgcc.so or libgcc_pic.a
+NOSHARED= broken
#SUBDIR= doc
LIB= stdc++