diff options
author | Mike Frysinger <vapier@gentoo.org> | 2012-05-13 20:46:13 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2012-05-13 20:46:13 +0000 |
commit | 881fbbd4d3521d3d450fc8fda15708cd18eb0a65 (patch) | |
tree | 29f13b7a94cb568ff94ac5ec43cfc898889ff2cc /sys-boot | |
parent | drop cromwell mask now that it works with gcc-4.6 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-boot/cromwell/cromwell-2.40-r3.ebuild | 21 | ||||
-rw-r--r-- | sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch | 39 |
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) } + } |