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)
This commit is contained in:
Peter Wemm 2003-05-24 19:38:18 +00:00
parent 14682d7e53
commit ed8c5dcdc0

View File

@ -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++