diff options
author | Ned Ludd <solar@gentoo.org> | 2009-01-02 19:50:48 +0000 |
---|---|---|
committer | Ned Ludd <solar@gentoo.org> | 2009-01-02 19:50:48 +0000 |
commit | bddb75a2ff64591d3270c4c5606f6b30eaad3385 (patch) | |
tree | 4fd39dfef00697f6e880e269257ffe00e3992c36 /sys-libs/uclibc | |
parent | Automated update of use.local.desc (diff) | |
download | gentoo-2-bddb75a2ff64591d3270c4c5606f6b30eaad3385.tar.gz gentoo-2-bddb75a2ff64591d3270c4c5606f6b30eaad3385.tar.bz2 gentoo-2-bddb75a2ff64591d3270c4c5606f6b30eaad3385.zip |
- work around gcc-4 lack of ssp by default support while +hardened is enabled
(Portage version: 2.1.4.5)
Diffstat (limited to 'sys-libs/uclibc')
-rw-r--r-- | sys-libs/uclibc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/uclibc/metadata.xml | 1 | ||||
-rw-r--r-- | sys-libs/uclibc/uclibc-0.9.30.ebuild | 41 |
3 files changed, 21 insertions, 28 deletions
diff --git a/sys-libs/uclibc/ChangeLog b/sys-libs/uclibc/ChangeLog index 0fd2f0b7907f..a1a05b4702d9 100644 --- a/sys-libs/uclibc/ChangeLog +++ b/sys-libs/uclibc/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for sys-libs/uclibc -# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/ChangeLog,v 1.41 2008/11/28 20:09:45 solar Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/ChangeLog,v 1.42 2009/01/02 19:50:47 solar Exp $ + + 02 Jan 2009; <solar@gentoo.org> metadata.xml, uclibc-0.9.30.ebuild: + work around gcc-4 lack of ssp by default support while +hardened is enabled *uclibc-0.9.30 (28 Nov 2008) diff --git a/sys-libs/uclibc/metadata.xml b/sys-libs/uclibc/metadata.xml index 444fc358b34e..7d7faccbef8c 100644 --- a/sys-libs/uclibc/metadata.xml +++ b/sys-libs/uclibc/metadata.xml @@ -20,6 +20,7 @@ systems with support for alpha, ARM, cris, i386, i960, h8300, m68k, mips/mipsel, SH, SPARC, and v850 processors. </longdescription> <use> + <flag name='ssp'>Force the use of ssp to be built into a hardened uclibc setup</flag> <flag name='pregen'>Use pregenerated locales</flag> <flag name='savedconfig'>Adds support for user defined configs</flag> <flag name='uclibc-compat'>Build uclibc with backwards compatible diff --git a/sys-libs/uclibc/uclibc-0.9.30.ebuild b/sys-libs/uclibc/uclibc-0.9.30.ebuild index faaae0940d02..8da14fdfac93 100644 --- a/sys-libs/uclibc/uclibc-0.9.30.ebuild +++ b/sys-libs/uclibc/uclibc-0.9.30.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.30.ebuild,v 1.1 2008/11/28 20:09:45 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.30.ebuild,v 1.2 2009/01/02 19:50:47 solar Exp $ #ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc" #inherit subversion @@ -21,7 +21,7 @@ fi MY_P=uClibc-0.9.30 SVN_VER="" -#PATCH_VER="0.1" +PATCH_VER="1.0" DESCRIPTION="C library for developing embedded Linux systems" HOMEPAGE="http://www.uclibc.org/" SRC_URI="http://uclibc.org/downloads/${MY_P}.tar.bz2 @@ -33,20 +33,20 @@ SRC_URI="http://uclibc.org/downloads/${MY_P}.tar.bz2 SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2" LICENSE="LGPL-2" -[[ ${CTARGET} != ${CHOST} ]] \ - && SLOT="${CTARGET}" \ - || SLOT="0" +SLOT="0" KEYWORDS="-* ~arm ~m68k -mips ~ppc ~sh ~sparc ~x86 ~amd64" -IUSE="build uclibc-compat debug hardened iconv ipv6 minimal nls pregen userlocales wordexp crosscompile_opts_headers-only" +IUSE="build uclibc-compat debug hardened ssp iconv ipv6 minimal nls pregen userlocales wordexp crosscompile_opts_headers-only" RESTRICT="strip" RDEPEND="" if [[ -n $CTARGET && ${CTARGET} != ${CHOST} ]]; then DEPEND="" PROVIDE="" + SLOT="${CTARGET}" else DEPEND="virtual/os-headers app-misc/pax-utils" PROVIDE="virtual/libc" + SLOT="0" fi S=${WORKDIR}/${MY_P} @@ -60,6 +60,7 @@ alt_build_kprefix() { echo /usr/${CTARGET}/usr/include fi } + just_headers() { use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] } @@ -186,19 +187,6 @@ src_unpack() { unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch - # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f) - cp "${WORKDIR}"/patch/math/libm/* "${S}"/libm/ || die - epatch "${WORKDIR}"/patch/math - fi - - if [[ -d "${FILESDIR}"/patches-${PV} ]] ; then - EPATCH_SUFFIX="patch" - epatch "${FILESDIR}"/patches-${PV} - if [[ -d "${FILESDIR}"/patches-${PV}/math/libm ]] ; then - # math functions (sinf,cosf,tanf,atan2f,powf,fabsf,copysignf,scalbnf,rem_pio2f) - cp "${FILESDIR}"/patches-${PV}/math/libm/* "${S}"/libm/ || die - epatch "${FILESDIR}"/patches-${PV}/math - fi fi ########## CPU SELECTION ########## @@ -248,7 +236,7 @@ src_unpack() { local moredefs="COMPAT_ATEXIT" local compat_sym=atexit - # We need todo this for a few months. .29 is a major upgrade. + # We need todo this for a few months. .30 is a major upgrade. # Don't do it from cross-compiling case though if ! use uclibc-compat ; then if [[ -z ${UCLIBC_AND_GLIBC} ]] && [[ -z ${UCLIBC_SCANNED_COMPAT} ]] && \ @@ -288,7 +276,7 @@ src_unpack() { set_opt UCLIBC_HAS_GETTEXT_AWARENESS n fi - if use pregen ; then + if use pregen && [[ ${target} != mips ]]; then set_opt UCLIBC_PREGENERATED_LOCALE_DATA y set_opt UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA y if use userlocales ; then @@ -321,8 +309,7 @@ src_unpack() { # arm/mips do not emit PT_GNU_STACK, but if we enable this here # it will be emitted as RWE, ppc has to be checked, x86 needs it # this option should be used independently of hardened - # relro could be also moved out of hardened - if has $(tc-arch) x86 ; then + if has $(tc-arch) x86 || has $(tc-arch) ppc; then set_opt UCLIBC_BUILD_NOEXECSTACK y else set_opt UCLIBC_BUILD_NOEXECSTACK n @@ -334,9 +321,11 @@ src_unpack() { else set_opt UCLIBC_BUILD_PIE n fi - set_opt SSP_QUICK_CANARY n - set_opt UCLIBC_BUILD_SSP y set_opt UCLIBC_BUILD_NOW y + use ssp && { + set_opt SSP_QUICK_CANARY n + set_opt UCLIBC_BUILD_SSP y + } else set_opt UCLIBC_BUILD_PIE n set_opt SSP_QUICK_CANARY y |