From f4bd275278ad7a38b60598b12677c16406a228cd Mon Sep 17 00:00:00 2001 From: Gysbert Wassenaar Date: Thu, 24 Jun 2010 19:44:02 +0000 Subject: [PATCH] Added nopiessp support for gcc-4 Package-Manager: portage-2.1.8.3/cvs/Linux ppc --- sys-boot/yaboot/ChangeLog | 8 +++- sys-boot/yaboot/Manifest | 14 ++---- .../yaboot/files/yaboot-nopiessp-gcc4.patch | 42 ++++++++++++++++++ sys-boot/yaboot/yaboot-1.3.14-r2.ebuild | 44 +++++++++++++++++++ 4 files changed, 96 insertions(+), 12 deletions(-) create mode 100644 sys-boot/yaboot/files/yaboot-nopiessp-gcc4.patch create mode 100644 sys-boot/yaboot/yaboot-1.3.14-r2.ebuild diff --git a/sys-boot/yaboot/ChangeLog b/sys-boot/yaboot/ChangeLog index 07b869037caf..b464582dd5b7 100644 --- a/sys-boot/yaboot/ChangeLog +++ b/sys-boot/yaboot/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-boot/yaboot # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot/ChangeLog,v 1.30 2010/05/31 23:47:51 josejx Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot/ChangeLog,v 1.31 2010/06/24 19:44:02 nixnut Exp $ + +*yaboot-1.3.14-r2 (24 Jun 2010) + + 24 Jun 2010; nixnut +files/yaboot-nopiessp-gcc4.patch, + +yaboot-1.3.14-r2.ebuild: + Added nopiessp support for gcc-4 *yaboot-1.3.14-r1 (31 May 2010) diff --git a/sys-boot/yaboot/Manifest b/sys-boot/yaboot/Manifest index 079d186097a6..ae47772e789a 100644 --- a/sys-boot/yaboot/Manifest +++ b/sys-boot/yaboot/Manifest @@ -1,19 +1,11 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX chrpfix.patch 979 RMD160 3614e117f5430fbe7e19fe79fd9ec950d5cab30b SHA1 08657c233ad4ac151bf0d4fe0a1c950558c9c3a1 SHA256 cbd5d5e1df0111619b58975d8605d36ce30767a129dd9de53fc302d750e03045 AUX sysfs-ofpath.patch 3432 RMD160 9cd4283cb45db5139c6200feca6ceeebcbd3bef8 SHA1 cd001ebbd3fa63a753311521be8394dc4f2768b5 SHA256 a00601f12a361f19ec6ab7ef38c65b1f424624d65f80e30d9591618dc22a1f0e +AUX yaboot-nopiessp-gcc4.patch 1623 RMD160 2c5cd0e61acf01bc82a5f49cf07838f143c49f99 SHA1 4a783fbb82f35f0d2792ff5a83dd480326677752 SHA256 61775623e47719ee0dfce343fa86957e17b4e40c6e695c254b1862cefa428fa1 AUX yaboot-nopiessp.patch 1885 RMD160 ad6bc10b7f9eca86a155691ed11e7e8b234ff6bf SHA1 6adb7f426fede91e9f2a5276bf87b6f2ad0bea1d SHA256 69fcfa7a6c464304b8a9c68da8331909948686955f4a9e10d23505f700bee1ab AUX yabootconfig-1.3.13.patch 1655 RMD160 fd3e62c5cddbe359df3f2abee225392e0ff86144 SHA1 c50bd7dabe553e00c466cfa63cbdb9f20257a74b SHA256 ee662c068ba7800d1d0c85a927f3990658cc488ebd3672e40740b7473ba3bb20 DIST yaboot-1.3.14.tar.gz 219089 RMD160 dd46fc044732c5bdf3dc23b3faa1dd746895cdd5 SHA1 2bf7594a921075371acf468a46776d0f93e315a6 SHA256 b1b0ddc798e332dc03065bac871b05f700b6f8383951a05dee68a7438f644933 EBUILD yaboot-1.3.14-r1.ebuild 1149 RMD160 5acee78ff99dddfbe7d8a1095f9fd33748475a02 SHA1 9b8f8bc5495dce2e822e07df1ac916c8d2a83d3d SHA256 341be4b8ea3e740fd187a07d615b979d5c7ac0564337ad9086bfc07df6e2659c +EBUILD yaboot-1.3.14-r2.ebuild 1330 RMD160 1a00cedf467ec17f71830e20db24b12cbfd2cdc3 SHA1 5078d03d668acacd97020e9c3d3dd58b20e60938 SHA256 8e7cbf27c1912503dbeea5395bf7650f0d2900face36e4f9ac65daecbe59d9e1 EBUILD yaboot-1.3.14.ebuild 1107 RMD160 bb5c8e9696b67fe71e7a7e6e4e34be34a5f515a7 SHA1 7d04fa7ab77371eb5bedc54821cc077115c99b00 SHA256 3f9635300d11136feb5a26bb03c05c76e60c6923695049abc95e5c25efafaf6a -MISC ChangeLog 8657 RMD160 b9646dfe345656963a748f502299be9638e58c8a SHA1 58f0b54e4007622b1234eacccd5d1ff313ce1a7a SHA256 8ccdd8a76f631f88440d92c91efdaae1f0d17661ae171e38b912ebf51eac1c67 +MISC ChangeLog 8831 RMD160 48714e7e6afd809f2ecb855527dccd0673bc8480 SHA1 97d85b60991f1c30ba62bd37007404ca2d9cbe1a SHA256 16a338e64d42db627ae8bf88ca611451d7591cbecda26cbb3f9099c16b553e6e MISC metadata.xml 175 RMD160 a674189a82ea2172e0949ce49eb80dd5bc23ddf5 SHA1 c203d37a08bfb7b826b080650c3019705490bfb1 SHA256 123ecdec2aa3d066ff52ce8a8013191ede4c949290dad2afc2a2c505500e765a ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEYEARECAAYFAkwESnMACgkQcsIHjyDViGTT2ACgtzqjRnamay3/QUk3EzlQpRD8 -Rh8AoILkN4jDhlZ1OUuse47p2aSmzjxq -=+PCC ------END PGP SIGNATURE----- diff --git a/sys-boot/yaboot/files/yaboot-nopiessp-gcc4.patch b/sys-boot/yaboot/files/yaboot-nopiessp-gcc4.patch new file mode 100644 index 000000000000..1016d8f5621d --- /dev/null +++ b/sys-boot/yaboot/files/yaboot-nopiessp-gcc4.patch @@ -0,0 +1,42 @@ +diff -Nrup yaboot-1.3.13.orig/Config.gentoo yaboot-1.3.13/Config.gentoo +--- yaboot-1.3.13.orig/Config.gentoo 1970-01-01 00:00:00.000000000 +0000 ++++ yaboot-1.3.13/Config.gentoo 2005-06-12 00:41:14.889576152 +0000 +@@ -0,0 +1,6 @@ ++check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ ++ then echo "$(1)"; else echo "$(2)"; fi) ++ ++CFLAGS += $(call check_gcc, -fno-stack-protector) ++CFLAGS += $(call check_gcc, --nopie) ++ +diff -Nrup yaboot-1.3.13.orig/Makefile yaboot-1.3.13/Makefile +--- yaboot-1.3.13.orig/Makefile 2004-07-11 20:12:03.000000000 +0000 ++++ yaboot-1.3.13/Makefile 2005-06-12 00:41:14.890576000 +0000 +@@ -1,6 +1,7 @@ + ## Setup + + include Config ++include Config.gentoo + + VERSION = 1.3.13 + # Debug mode (spam/verbose) +@@ -79,7 +80,7 @@ HOSTCFLAGS = -O2 $(CFLAGS) -Wall -I/usr/ + OBJS = second/crt0.o second/yaboot.o second/cache.o second/prom.o second/file.o \ + second/partition.o second/fs.o second/cfg.o second/setjmp.o second/cmdline.o \ + second/fs_of.o second/fs_ext2.o second/fs_iso.o second/iso_util.o \ +- lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o ++ lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o lib/ssp.o + + ifeq ($(USE_MD5_PASSWORDS),y) + OBJS += second/md5.o +diff -Naur yaboot-1.3.14.orig/lib/ssp.c yaboot-1.3.14/lib/ssp.c +--- yaboot-1.3.14.orig/lib/ssp.c 1970-01-01 00:00:00.000000000 +0000 ++++ yaboot-1.3.14/lib/ssp.c 2010-06-20 18:50:57.000000000 +0000 +@@ -0,0 +1,7 @@ ++extern void __stack_chk_fail_local (void) ; ++ ++void ++__stack_chk_fail_local (void) ++{ ++ return; ++} + diff --git a/sys-boot/yaboot/yaboot-1.3.14-r2.ebuild b/sys-boot/yaboot/yaboot-1.3.14-r2.ebuild new file mode 100644 index 000000000000..a5aa568934e3 --- /dev/null +++ b/sys-boot/yaboot/yaboot-1.3.14-r2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/yaboot/yaboot-1.3.14-r2.ebuild,v 1.1 2010/06/24 19:44:02 nixnut Exp $ + +inherit eutils toolchain-funcs + +DESCRIPTION="PPC Bootloader" +SRC_URI="http://yaboot.ozlabs.org/releases/${P}.tar.gz" +HOMEPAGE="http://yaboot.ozlabs.org" +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="-* ~ppc -ppc64" +IUSE="ibm" + +DEPEND="sys-apps/powerpc-utils" +RDEPEND="!ibm? ( sys-fs/hfsutils + sys-fs/hfsplusutils + sys-fs/mac-fdisk )" + +PROVIDE="virtual/bootloader" + +src_compile() { + export -n CFLAGS + export -n CXXFLAGS + [ -n "$(tc-getCC)" ] || CC="gcc" + # dual boot patch + epatch "${FILESDIR}/yabootconfig-1.3.13.patch" + epatch "${FILESDIR}/chrpfix.patch" + if [[ "$(gcc-major-version)" -eq "3" ]]; then + epatch "${FILESDIR}/yaboot-nopiessp.patch" + fi + if [[ "$(gcc-major-version)" -eq "4" ]]; then + epatch "${FILESDIR}/yaboot-nopiessp-gcc4.patch" + fi + epatch "${FILESDIR}/sysfs-ofpath.patch" + emake PREFIX=/usr MANDIR=share/man CC="$(tc-getCC)" || die +} + +src_install() { + cp etc/yaboot.conf etc/yaboot.conf.bak + sed -e 's/\/local//' etc/yaboot.conf >| etc/yaboot.conf.edit + mv -f etc/yaboot.conf.edit etc/yaboot.conf + make ROOT="${D}" PREFIX=/usr MANDIR=share/man install || die +} -- 2.26.2