commit:     7feba33143b3b11e91448c9f331ecefd4cd05aa0
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon May  7 16:14:01 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon May  7 16:14:25 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7feba331

sys-boot/silo: fix a build against PIC profiles

Build failed on default/linux/sparc/17.0 profiles as
  ./util -a silotftp.map silotftp.aout silotftp2.aout silotftp.b silotftp.b2
  Distance between two changes larger than 63K 3 83881 0

I suspect th breakage happens due code inflation (caused by
-fPIC) on new profiles. iamben reports that -fno-PIC makes
silo to build and boot a sparc machine \o/

Fixed-by: iamben
Tested-by: iamben
Package-Manager: Portage-2.3.36, Repoman-2.3.9

 sys-boot/silo/silo-1.4.14_p20120819-r1.ebuild | 4 +++-
 sys-boot/silo/silo-1.4.14_p20170829.ebuild    | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/sys-boot/silo/silo-1.4.14_p20120819-r1.ebuild 
b/sys-boot/silo/silo-1.4.14_p20120819-r1.ebuild
index 2431901f440..946707a2947 100644
--- a/sys-boot/silo/silo-1.4.14_p20120819-r1.ebuild
+++ b/sys-boot/silo/silo-1.4.14_p20120819-r1.ebuild
@@ -40,7 +40,9 @@ src_prepare() {
        sed -i -e "s/1.4.14/1.4.14_git20120819_p1/g" Rules.make || die
 
        # Fix build failure
-       sed -i -e "s/-fno-strict-aliasing/-fno-strict-aliasing 
-U_FORTIFY_SOURCE -mcpu=v9/g" Rules.make || die
+       # -fno-PIC is needed to shrink silo size back to manageable on
+       # profiles where gcc has -fPIC default (via --enable-default-pie).
+       sed -i -e "s/-fno-strict-aliasing/-fno-strict-aliasing 
-U_FORTIFY_SOURCE -mcpu=v9 -fno-PIC/g" Rules.make || die
 }
 
 src_compile() {

diff --git a/sys-boot/silo/silo-1.4.14_p20170829.ebuild 
b/sys-boot/silo/silo-1.4.14_p20170829.ebuild
index dde2b3c9a73..e62265f8848 100644
--- a/sys-boot/silo/silo-1.4.14_p20170829.ebuild
+++ b/sys-boot/silo/silo-1.4.14_p20170829.ebuild
@@ -29,7 +29,9 @@ src_prepare() {
        sed -i -e "s/1.4.14/1.4.14_git20170829/g" Rules.make || die
 
        # Fix build failure
-       sed -i -e "s/-fno-strict-aliasing/-fno-strict-aliasing 
-U_FORTIFY_SOURCE -mcpu=v9/g" Rules.make || die
+       # -fno-PIC is needed to shrink silo size back to manageable on
+       # profiles where gcc has -fPIC default (via --enable-default-pie).
+       sed -i -e "s/-fno-strict-aliasing/-fno-strict-aliasing 
-U_FORTIFY_SOURCE -mcpu=v9 -fno-PIC/g" Rules.make || die
 
        # Don't strip ieee32.b during compile
        sed -i -e '/^   $(STRIP) ieee32.b/d' first/Makefile || die

Reply via email to