[coreboot-gerrit] Change in coreboot[master]: util/crossgcc: Allow building a new gcc against new binutils with -D

Patrick Georgi (Code Review) gerrit at coreboot.org
Tue Jun 26 21:09:02 CEST 2018


Patrick Georgi has uploaded this change for review. ( https://review.coreboot.org/27241


Change subject: util/crossgcc: Allow building a new gcc against new binutils with -D
......................................................................

util/crossgcc: Allow building a new gcc against new binutils with -D

With -D, the newly built toolchain isn't installed into $prefix/...
but into $DESTDIR/$prefix/... while being built for $prefix alone.

This is useful for distributions, but it breaks down when the build
host already has the toolchain installed in $prefix without proper
build isolation (cf. gentoo):

In such cases libgcc etc are built using the new compiler (as gcc's
build system is smart enough to state the path explicitly), but that
compiler then uses its regular algorithm to determine the path to as,
ld, ...
That makes it use the tools from $prefix, which might differ in formats
(assembly, certain object file flags, ...): nds32le-elf in particular
has rather unstable formats still, and so new compilers can't work
with old binutils.

The approach to deal with this is to take an unused path that's
specified by gcc's build system ($out/gcc/$arch/$version) and symlink
it to the new toolchain - these explicitly given directories take
precedence over the default search path, and so the new binutils
are used.

Change-Id: Ia9a262e73f56cd486a2ae07422b598c205a03aed
Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
---
M util/crossgcc/buildgcc
1 file changed, 2 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/41/27241/1

diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index cd8a091..ef0c4d5 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -752,6 +752,8 @@
 		--with-mpc=$DESTDIR$TARGETDIR \
 		--with-pkgversion="coreboot toolchain v$CROSSGCC_VERSION $CROSSGCC_DATE" \
 		&& \
+	mkdir -p gcc/$TARGETARCH && \
+	ln -s $DESTDIR$TARGETDIR/$TARGETARCH/bin gcc/$TARGETARCH/$GCC_VERSION && \
 	$MAKE $JOBS CFLAGS_FOR_BUILD="$HOSTCFLAGS" all-gcc && \
 	$MAKE install-gcc DESTDIR=$DESTDIR || touch .failed
 

-- 
To view, visit https://review.coreboot.org/27241
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia9a262e73f56cd486a2ae07422b598c205a03aed
Gerrit-Change-Number: 27241
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Georgi <pgeorgi at google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180626/1792d907/attachment.html>


More information about the coreboot-gerrit mailing list