summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-05-13 20:46:13 +0000
committerMike Frysinger <vapier@gentoo.org>2012-05-13 20:46:13 +0000
commit881fbbd4d3521d3d450fc8fda15708cd18eb0a65 (patch)
tree29f13b7a94cb568ff94ac5ec43cfc898889ff2cc /sys-boot
parentdrop cromwell mask now that it works with gcc-4.6 (diff)
downloadgentoo-2-881fbbd4d3521d3d450fc8fda15708cd18eb0a65.tar.gz
gentoo-2-881fbbd4d3521d3d450fc8fda15708cd18eb0a65.tar.bz2
gentoo-2-881fbbd4d3521d3d450fc8fda15708cd18eb0a65.zip
Update to EAPI=4 and fix linking with newer gcc versions #363535 by Diego Elio Pettenò.
(Portage version: 2.2.0_alpha102/cvs/Linux x86_64)
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/cromwell/ChangeLog9
-rw-r--r--sys-boot/cromwell/cromwell-2.40-r3.ebuild21
-rw-r--r--sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch39
3 files changed, 58 insertions, 11 deletions
diff --git a/sys-boot/cromwell/ChangeLog b/sys-boot/cromwell/ChangeLog
index db3e9110c945..4d09f22b0648 100644
--- a/sys-boot/cromwell/ChangeLog
+++ b/sys-boot/cromwell/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-boot/cromwell
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/cromwell/ChangeLog,v 1.14 2011/04/15 10:00:25 vapier Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/cromwell/ChangeLog,v 1.15 2012/05/13 20:46:13 vapier Exp $
+
+ 13 May 2012; Mike Frysinger <vapier@gentoo.org>
+ +files/cromwell-2.40-gcc-4.6.patch, cromwell-2.40-r3.ebuild:
+ Update to EAPI=4 and fix linking with newer gcc versions #363535 by Diego Elio
+ Pettenò.
15 Apr 2011; Mike Frysinger <vapier@gentoo.org> cromwell-2.40-r3.ebuild:
Respect toolchain build settings.
diff --git a/sys-boot/cromwell/cromwell-2.40-r3.ebuild b/sys-boot/cromwell/cromwell-2.40-r3.ebuild
index 3a0ddc8b23fd..53c5d362dcbf 100644
--- a/sys-boot/cromwell/cromwell-2.40-r3.ebuild
+++ b/sys-boot/cromwell/cromwell-2.40-r3.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/cromwell/cromwell-2.40-r3.ebuild,v 1.6 2011/04/15 10:00:25 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/cromwell/cromwell-2.40-r3.ebuild,v 1.7 2012/05/13 20:46:13 vapier Exp $
-inherit eutils mount-boot toolchain-funcs
+EAPI="4"
+
+inherit eutils mount-boot toolchain-funcs flag-o-matic
DESCRIPTION="Xbox boot loader"
HOMEPAGE="http://www.xbox-linux.org/wiki/Cromwell"
@@ -15,21 +17,22 @@ KEYWORDS="-* x86"
IUSE=""
RESTRICT="strip"
-src_unpack() {
- unpack ${A}
- cd "${S}"
+src_prepare() {
epatch "${WORKDIR}"/${PF}-cvs-fixes.patch
- sed -i 's:-Werror::' Makefile Rules.make
+ epatch "${FILESDIR}"/${P}-gcc-4.6.patch #363535
+ sed -i 's:-Werror:-m32:' Makefile Rules.make || die
+ sed -i '/^EXTRA_CFLAGS/s:$: -m32:' Rules.make boot_rom/Makefile || die
sed -i \
-e '/^bin.imagebld:/,$s:\<gcc\>:${CC}:' \
Makefile || die
+ append-flags -m32
}
src_compile() {
- emake -j1 CC="$(tc-getCC)" LD="$(tc-getLD)" || die
+ emake -j1 CC="$(tc-getCC)" LD="$(tc-getLD)"
}
src_install() {
insinto /boot/${PN}
- doins image/cromwell{,_1024}.bin xbe/xromwell.xbe || die
+ doins image/cromwell{,_1024}.bin xbe/xromwell.xbe
}
diff --git a/sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch b/sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch
new file mode 100644
index 000000000000..92de3b014b61
--- /dev/null
+++ b/sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch
@@ -0,0 +1,39 @@
+newer gcc versions will output .text.unlikely which this linker script
+doesn't expect
+
+https://bugs.gentoo.org/363535
+
+--- a/scripts/ldscript-crom.ld
++++ b/scripts/ldscript-crom.ld
+@@ -21,7 +21,7 @@ SECTIONS {
+
+ .text LOW_ROM : AT ( 0 ){
+ _start_low_rom = . ;
+- *(.text);
++ *(.text .text.*);
+ _end_low_rom = . ;
+ }
+
+@@ -67,4 +67,5 @@ SECTIONS {
+
+ _end_complete_rom = SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.data) + SIZEOF(.bss);
+
++ /DISCARD/ : { *(.eh_frame) }
+ }
+--- a/boot_rom/bootrom.ld
++++ b/boot_rom/bootrom.ld
+@@ -31,7 +31,7 @@ SECTIONS {
+ .text (RAM_CODE) : AT( SIZEOF(.low_rom) ) {
+ _ram_location = .;
+ _start_ramcopy = _end_rom;
+- *(.text);
++ *(.text .text.*);
+ _start_checksum = _start_ramcopy - LOW_ROM;
+ }
+
+@@ -74,4 +74,5 @@ SECTIONS {
+ } = 0x90909090
+ */
+
++ /DISCARD/ : { *(.eh_frame) }
+ }