summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/toolchain.eclass21
1 files changed, 7 insertions, 14 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d0c5a437a35e..21b3aedd6364 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.352 2008/04/12 22:54:40 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.353 2008/04/22 05:53:02 vapier Exp $
#
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -1167,8 +1167,7 @@ gcc-compiler-configure() {
;;
# Enable sjlj exceptions for backward compatibility on hppa
hppa)
- [[ ${GCC_PV:0:1} == "3" ]] && \
- confgcc="${confgcc} --enable-sjlj-exceptions"
+ [[ ${GCCMAJOR} == "3" ]] && confgcc="${confgcc} --enable-sjlj-exceptions"
;;
esac
@@ -1248,13 +1247,11 @@ gcc_do_configure() {
fi
# reasonably sane globals (hopefully)
- # --disable-libunwind-exceptions needed till unwind sections get fixed. see ps.m for details
confgcc="${confgcc} \
--with-system-zlib \
--disable-checking \
--disable-werror \
- --enable-secureplt \
- --disable-libunwind-exceptions"
+ --enable-secureplt"
# etype specific configuration
einfo "running ${ETYPE}-configure"
@@ -1299,21 +1296,17 @@ gcc_do_configure() {
[[ ${CTARGET} == *-elf ]] && confgcc="${confgcc} --with-newlib"
# __cxa_atexit is "essential for fully standards-compliant handling of
# destructors", but apparently requires glibc.
- # --enable-sjlj-exceptions : currently the unwind stuff seems to work
- # for statically linked apps but not dynamic
- # so use setjmp/longjmp exceptions by default
if [[ ${CTARGET} == *-uclibc* ]] ; then
confgcc="${confgcc} --disable-__cxa_atexit --enable-target-optspace"
- [[ ${GCCMAJOR}.${GCCMINOR} == 3.3 ]] && \
- confgcc="${confgcc} --enable-sjlj-exceptions"
+ [[ ${GCCMAJOR}.${GCCMINOR} == 3.3 ]] && confgcc="${confgcc} --enable-sjlj-exceptions"
+ [[ ${GCCMAJOR}.${GCCMINOR} > 3.3 ]] && confgcc="${confgcc} --enable-clocale=uclibc"
elif [[ ${CTARGET} == *-gnu* ]] ; then
confgcc="${confgcc} --enable-__cxa_atexit"
+ confgcc="${confgcc} --enable-clocale=gnu"
elif [[ ${CTARGET} == *-freebsd* ]]; then
confgcc="${confgcc} --enable-__cxa_atexit"
fi
- [[ ${CTARGET} == *-gnu* ]] && confgcc="${confgcc} --enable-clocale=gnu"
- [[ ${CTARGET} == *-uclibc* ]] && [[ ${GCCMAJOR}.${GCCMINOR} > 3.3 ]] \
- && confgcc="${confgcc} --enable-clocale=uclibc"
+ [[ ${GCCMAJOR}.${GCCMINOR} < 3.4 ]] && confgcc="${confgcc} ---disable-libunwind-exceptions"
tc_version_is_at_least 4.3 && set -- "$@" \
--with-bugurl=http://bugs.gentoo.org/ \