Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Thomas Orgis (541f3614e0cce54c341afe5ca9ebb475937c6a8a)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Thomas Orgis <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Thomas Orgis (541f3614e0cce54c341afe5ca9ebb475937c6a8a)
  • Date: Fri, 26 Feb 2021 00:24:28 +0000

GIT changes to master grimoire by Thomas Orgis <sobukus AT sourcemage.org>:

devel/binutils/BUILD | 14 ++++++++++++++
devel/binutils/HISTORY | 6 ++++++
devel/binutils/INSTALL | 13 ++-----------
3 files changed, 22 insertions(+), 11 deletions(-)

New commits:
commit 541f3614e0cce54c341afe5ca9ebb475937c6a8a
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>

binutils: make install more robust by pre-staging

There is some bug that causes the install target to relink
a library that the just-installed ld needs. But it does not
work with the old saved version of said lib, so the linking
fails. Running `make install` with a DESTDIR in BUILD
avoids this race and INSTALL just writes the files, as it should.

There is just not much room for failure in binutils.

diff --git a/devel/binutils/BUILD b/devel/binutils/BUILD
index c6874a8..3021f13 100755
--- a/devel/binutils/BUILD
+++ b/devel/binutils/BUILD
@@ -19,3 +19,17 @@ cd buildit &&
--enable-gold=yes \
$OPTS &&
make tooldir=/usr DESTDIR="$INSTALL_ROOT"
+disable_fortify_source &&
+
+# Install into a staging area before messing with the installed
+# binutils. The install phase should not try to do anything
+# funky, like relinking something. Do not mess with binutils.
+make_single &&
+make tooldir=/usr DESTDIR="$PWD/INSTALL_ROOT" install &&
+if [[ "${BINUTILS_LIBIBERTY}" == "y" ]]; then
+ install ../include/libiberty.h "INSTALL_ROOT/usr/include/." &&
+ install ./libiberty/libiberty.a "INSTALL_ROOT/usr/lib/"
+fi &&
+make_normal &&
+# set default linker
+ln -sf ld.$BINUTILS_LINKER INSTALL_ROOT/usr/bin/ld
diff --git a/devel/binutils/HISTORY b/devel/binutils/HISTORY
index 3c567ba..7764edf 100644
--- a/devel/binutils/HISTORY
+++ b/devel/binutils/HISTORY
@@ -1,3 +1,9 @@
+2021-02-26 Thomas Orgis <sobukus AT orgis.org>
+ * BUILD, INSTALL: Stage the installed files in BUILD to avoid
+ any fallout of non-trivial things happening in the install target
+ after binutils having been dispelled. Fixes failure on
+ relinking libctf with defunct freshly installed ld.
+
2021-02-23 Remko van der Vossen <wich AT sourcemage.org>
* INSTALL: reinstate make_single, install fails on x86_64 with
multiple
jobs leading to borked systems
diff --git a/devel/binutils/INSTALL b/devel/binutils/INSTALL
index 631fceb..3f0c82c 100755
--- a/devel/binutils/INSTALL
+++ b/devel/binutils/INSTALL
@@ -1,11 +1,2 @@
-disable_fortify_source &&
-
-make_single &&
-make tooldir=/usr DESTDIR="$INSTALL_ROOT" install &&
-if [[ "${BINUTILS_LIBIBERTY}" == "y" ]]; then
- install ../include/libiberty.h "$INSTALL_ROOT/usr/include/." &&
- install ./libiberty/libiberty.a "$INSTALL_ROOT/usr/lib/"
-fi &&
-make_normal &&
-# set default linker
-ln -sf $TRACK_ROOT/usr/bin/ld.$BINUTILS_LINKER $INSTALL_ROOT/usr/bin/ld
+cd INSTALL_ROOT &&
+tar -cf- . | (cd "$INSTALL_ROOT/" && tar -xvf-)



  • [SM-Commit] GIT changes to master grimoire by Thomas Orgis (541f3614e0cce54c341afe5ca9ebb475937c6a8a), Thomas Orgis, 02/25/2021

Archive powered by MHonArc 2.6.24.

Top of Page