From: Sergei Trofimovich Date: Mon, 7 May 2018 16:14:01 +0000 (+0100) Subject: sys-boot/silo: fix a build against PIC profiles X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7feba33143b3b11e91448c9f331ecefd4cd05aa0;p=gentoo.git 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 --- 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 2431901f440d..946707a29471 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 dde2b3c9a733..e62265f8848c 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