diff options
author | Ned Ludd <solar@gentoo.org> | 2004-01-08 07:31:43 +0000 |
---|---|---|
committer | Ned Ludd <solar@gentoo.org> | 2004-01-08 07:31:43 +0000 |
commit | 00b2cb866f9a21f83f10a8268f3bd8fb44c90d6c (patch) | |
tree | 73620a0ffac9a1f8e1f04ae0e4cc708c07941553 /dev-libs | |
parent | firebird is x86 only on linux at the moment (diff) | |
download | gentoo-2-00b2cb866f9a21f83f10a8268f3bd8fb44c90d6c.tar.gz gentoo-2-00b2cb866f9a21f83f10a8268f3bd8fb44c90d6c.tar.bz2 gentoo-2-00b2cb866f9a21f83f10a8268f3bd8fb44c90d6c.zip |
Attached is one patch needed to really enable FORCE_SHAREABLE_SEGMENTS
option, the other is to build uclibc against the installed kernel-headers
(not kernel-source) - Peter S. Mazinger gentoo-embedded mailing list.
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/uclibc/ChangeLog | 11 | ||||
-rw-r--r-- | dev-libs/uclibc/Manifest | 8 | ||||
-rw-r--r-- | dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-Makefile.patch | 38 | ||||
-rw-r--r-- | dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-pie-option.patch | 18 | ||||
-rw-r--r-- | dev-libs/uclibc/files/digest-uclibc-0.9.26-r1 | 1 | ||||
-rw-r--r-- | dev-libs/uclibc/uclibc-0.9.26-r1.ebuild | 72 |
6 files changed, 145 insertions, 3 deletions
diff --git a/dev-libs/uclibc/ChangeLog b/dev-libs/uclibc/ChangeLog index 8f48a201d3ce..2e60a84c12d1 100644 --- a/dev-libs/uclibc/ChangeLog +++ b/dev-libs/uclibc/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-libs/uclibc # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/ChangeLog,v 1.17 2004/01/04 06:04:53 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/ChangeLog,v 1.18 2004/01/08 07:31:43 solar Exp $ + +*uclibc-0.9.26-r1 (08 Jan 2004) + + 08 Jan 2004; <solar@gentoo.org> uclibc-0.9.26-r1.ebuild, + files/0.9.26/uClibc-0.9.26-Makefile.patch, + files/0.9.26/uClibc-0.9.26-pie-option.patch: + Attached is one patch needed to really enable FORCE_SHAREABLE_SEGMENTS + option, the other is to build uclibc against the installed kernel-headers + (not kernel-source) - Peter S. Mazinger gentoo-embedded mailing list. *uclibc-0.9.26 (04 Jan 2004) diff --git a/dev-libs/uclibc/Manifest b/dev-libs/uclibc/Manifest index 0a8c65c7b649..6f124e897403 100644 --- a/dev-libs/uclibc/Manifest +++ b/dev-libs/uclibc/Manifest @@ -1,12 +1,16 @@ -MD5 a7eea09b74d1f60ea630123de8234afa ChangeLog 3356 +MD5 f257b27e3209f4f32b155f910bf1e156 ChangeLog 3764 MD5 f694d40cf09e6c5511ae52f755a5ffe5 metadata.xml 998 MD5 54cc65ccbad794d94d98e2bdbd4bf891 uclibc-0.9.23.ebuild 1396 -MD5 016c81b475f0e47a8a529412a17a3adb uclibc-0.9.21.ebuild 1083 +MD5 ad1ca4c1d436f889095d3c53590a8c95 uclibc-0.9.26-r1.ebuild 1923 MD5 2dfccab5a9f72e0c8ae685859bef4c6f uclibc-0.9.26.ebuild 1653 +MD5 016c81b475f0e47a8a529412a17a3adb uclibc-0.9.21.ebuild 1083 MD5 d16f404e56abc9f0ab5c372b88a6905d files/Makefile-cp-order-fix.patch 897 MD5 799adc7fb6ec9ffd653831cea1d32dd5 files/digest-uclibc-0.9.21 67 +MD5 cf4a11cd99eb78be459f253cf9c53030 files/digest-uclibc-0.9.26-r1 67 MD5 cf4a11cd99eb78be459f253cf9c53030 files/digest-uclibc-0.9.26 67 MD5 36a9b2869403944131702c133e2f0fd3 files/digest-uclibc-0.9.23 67 +MD5 2416f5e954ccb8b39b1c0d6a3cf5e827 files/0.9.26/uClibc-0.9.26-Makefile.patch 1478 +MD5 bdd1e91ee48fb8be0d28cabdfcfdf3ff files/0.9.26/uClibc-0.9.26-pie-option.patch 863 MD5 17ecd222df47b5253f35787097440a5a files/0.9.23/uClibc-0.9.23-etdyn.patch 5832 MD5 298b7b42f80e1f8ae395df81c47eb213 files/0.9.23/uClibc-0.9.23-flipturn.patch 1821 MD5 4216cdf86d54f45fa04cb44a5425b3ff files/0.9.23/uClibc-0.9.23-pax.patch 3607 diff --git a/dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-Makefile.patch b/dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-Makefile.patch new file mode 100644 index 000000000000..965ace9c0cb3 --- /dev/null +++ b/dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-Makefile.patch @@ -0,0 +1,38 @@ +--- extra/scripts/fix_includes.sh.mps 2004-01-05 11:14:05.000000000 +0100 ++++ extra/scripts/fix_includes.sh 2004-01-05 12:25:11.000000000 +0100 +@@ -59,10 +59,10 @@ + esac; + done; + +-if [ ! -f "$KERNEL_SOURCE/Makefile" ]; then ++if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then + echo ""; + echo ""; +- echo "The file $KERNEL_SOURCE/Makefile is missing!"; ++ echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!"; + echo "Perhaps your kernel source is broken?" + echo ""; + echo ""; +@@ -78,8 +78,21 @@ + exit 1; + fi; + +-# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTERVERSION ++if [ -f "$KERNEL_SOURCE/Makefile" ] ; then ++# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION + eval `sed -n -e 's/^\([A-Z]*\) = \([0-9]*\)$/\1=\2/p' -e 's/^\([A-Z]*\) = \(-[-a-z0-9]*\)$/\1=\2/p' $KERNEL_SOURCE/Makefile` ++else ++ver=`grep UTS_RELEASE $KERNEL_SOURCE/include/linux/version.h | cut -d '"' -f 2` ++VERSION=`echo "$ver" | cut -d '.' -f 1` ++PATCHLEVEL=`echo "$ver" | cut -d '.' -f 2` ++if echo "$ver" | grep -q '-' ; then ++SUBLEVEL=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.//" | cut -d '-' -f 1` ++EXTRAVERSION=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.${SUBLEVEL}-//"` ++else ++SUBLEVEL=`echo "$ver" | cut -d '.' -f 3` ++#EXTRAVERSION= ++fi ++fi + if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ] + then + echo "Unable to determine version for kernel headers" diff --git a/dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-pie-option.patch b/dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-pie-option.patch new file mode 100644 index 000000000000..41beaea78abc --- /dev/null +++ b/dev-libs/uclibc/files/0.9.26/uClibc-0.9.26-pie-option.patch @@ -0,0 +1,18 @@ +--- extra/Configs/Config.in.mps 2004-01-05 11:07:27.000000000 +0100 ++++ extra/Configs/Config.in 2004-01-05 11:10:58.000000000 +0100 +@@ -180,13 +180,14 @@ + config UCLIBC_PIE_SUPPORT + bool "Support ET_DYN in shared library loader" + select FORCE_SHAREABLE_TEXT_SEGMENTS ++ select UCLIBC_COMPLETELY_PIC + default n + help + If you answer Y here, the uClibc native shared library loader will + support ET_DYN/PIE executables. + It requires binutils-2.14.90.0.6 or later and the usage of the + -pie option. +- More about ET_DYN/PIE binaries on <http://pageexec.virtualave.net/> . ++ More about ET_DYN/PIE binaries on <http://pax.grsecurity.net/> . + WARNING: This option also enables FORCE_SHAREABLE_TEXT_SEGMENTS, so all + libraries have to be built with -fPIC or -fpic, and all assembler + functions must be written as position independent code (PIC). diff --git a/dev-libs/uclibc/files/digest-uclibc-0.9.26-r1 b/dev-libs/uclibc/files/digest-uclibc-0.9.26-r1 new file mode 100644 index 000000000000..a089f9d8c86e --- /dev/null +++ b/dev-libs/uclibc/files/digest-uclibc-0.9.26-r1 @@ -0,0 +1 @@ +MD5 7212713c432dd0de6ec2140c2a6212e4 uClibc-0.9.26.tar.bz2 1604543 diff --git a/dev-libs/uclibc/uclibc-0.9.26-r1.ebuild b/dev-libs/uclibc/uclibc-0.9.26-r1.ebuild new file mode 100644 index 000000000000..974bfe47e89c --- /dev/null +++ b/dev-libs/uclibc/uclibc-0.9.26-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/uclibc/uclibc-0.9.26-r1.ebuild,v 1.1 2004/01/08 07:31:43 solar Exp $ + +inherit eutils + +MY_P="${P/ucl/uCl}" +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="http://www.uclibc.org/" +SRC_URI="http://www.kernel.org/pub/linux/libs/uclibc/${MY_P}.tar.bz2" +IUSE="etdyn" +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~mips" + +DEPEND="sys-devel/gcc" +PROVIDE="virtual/glibc" + +S=${WORKDIR}/${MY_P} + +src_unpack() { + local PIE=0 + local SSP=0 + + unpack ${A} + cd ${S} + + if [ "${PV}" == "0.9.26" ] ; then + # patch needed to really enable FORCE_SHAREABLE_SEGMENTS + # when building pic code. submitted by Peter S. Mazinger + epatch ${FILESDIR}/${PV}/uClibc-${PV}-pie-option.patch + epatch ${FILESDIR}/${PV}/uClibc-${PV}-Makefile.patch + fi + + # fixup for install perms + sed -i -e "s:-fa:-dRf:g" Makefile + + make defconfig >/dev/null || die "could not config" + for def in UCLIBC_{HAS_LOCALE,PROFILING} DO{DEBUG,ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} ; do + sed -i "s:${def}=y:# ${def} is not set:" .config + done + + if [ `use x86` ] ; then + use etdyn && PIC=1 + [ "`is-flag -fPIC`" == "true" ] && PIC=1 + fi + + [ "`is-flag -fstack-protector`" == "true" ] && SSP=1 + [ "`is-flag -fstack-protector-all`" == "true" ] && SSP=1 + + if [ "${PIC}" == 1 ] ; then + einfo "Enable Position Independent Executable support in ${P}" + sed -i -e "s:# UCLIBC_PIE_SUPPORT.*:UCLIBC_PIE_SUPPORT=y:" .config + fi + if [ "${SSP}" == 1 ]; then + einfo "Enable Stack Smashing Protections support in ${P}" + sed -i -e "s:# UCLIBC_PROPOLICE.*:UCLIBC_PROPOLICE=y:" .config + fi + + cp .config myconfig + + emake clean >/dev/null || die "could not clean" +} + +src_compile() { + mv myconfig .config + emake -j1 || die "could not make" +} + +src_install() { + emake PREFIX=${D} install || die "install failed" +} |