summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2009-01-02 19:50:48 +0000
committerNed Ludd <solar@gentoo.org>2009-01-02 19:50:48 +0000
commitbddb75a2ff64591d3270c4c5606f6b30eaad3385 (patch)
tree4fd39dfef00697f6e880e269257ffe00e3992c36 /sys-libs
parentAutomated update of use.local.desc (diff)
downloadgentoo-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')
-rw-r--r--sys-libs/uclibc/ChangeLog7
-rw-r--r--sys-libs/uclibc/metadata.xml1
-rw-r--r--sys-libs/uclibc/uclibc-0.9.30.ebuild41
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