Commit 2625802b authored by Matthias Klose's avatar Matthias Klose

* Try to enable the LTO builds everywhere.

  * Make the LTO link step a bit more verbose to avoid timeouts on
    the buildds.
parent 3fe203d2
gcc-8 (8.3.0-17) experimental; urgency=medium
* Try to enable the LTO builds everywhere.
* Make the LTO link step a bit more verbose to avoid timeouts on
the buildds.
-- Matthias Klose <doko@debian.org> Wed, 03 Jul 2019 18:53:45 +0200
gcc-8 (8.3.0-16) experimental; urgency=medium
* Update to SVN 20190702 (r272936) from the gcc-8-branch.
......
# DP: Emit some stderr output while doing the LTO Links
--- a/src/gcc/lock-and-run.sh
+++ b/src/gcc/lock-and-run.sh
@@ -1,7 +1,8 @@
-#! /bin/sh
+#! /bin/bash
# Shell-based mutex using mkdir.
lockdir="$1" prog="$2"; shift 2 || exit 1
+cmd=$(echo $prog "$@" | sed 's,^[^ ]*/,,;s, .*\( -o [^ ]*\) .*,\1,')
# Remember when we started trying to acquire the lock.
count=0
@@ -18,10 +19,10 @@ until mkdir "$lockdir" 2>/dev/null; do
count=1
# Steal the lock after 5 minutes.
elif [ $count = 300 ]; then
- echo removing stale $lockdir >&2
+ echo "removing stale $lockdir ($cmd)" >&2
rm -r "$lockdir"
else
- echo waiting to acquire $lockdir >&2
+ echo "waiting to acquire $lockdir ($cmd)" >&2
fi
fi
sleep 1
@@ -29,6 +30,44 @@ until mkdir "$lockdir" 2>/dev/null; do
done
echo $prog "$@"
-$prog "$@"
+$prog "$@" &
+pid=$!
+
+count=0
+max_count=$((3 * 60 * 60))
+
+while true; do
+ status=$(jobs -l | sed -n "/ $pid /s/^.* $pid //p")
+ case "$status" in
+ Running*)
+ : echo >&2 "running ..."
+ ;;
+ Exit*)
+ : echo >&2 "exit ..."
+ rv=$(echo $status | awk '{print $2}')
+ break
+ ;;
+ Done*)
+ rv=0
+ break
+ ;;
+ *)
+ echo >&2 "$(basename $0): PID $pid ($cmd): unknown: $status"
+ rv=48
+ break
+ esac
+ sleep 2
+ count=$(($count + 6))
+ if [ "$(($count % 300))" -eq 0 ]; then
+ echo >&2 "$(basename $0): PID $pid ($cmd) running for $count seconds"
+ fi
+ if [ $count -ge $max_count ]; then
+ echo >&2 "$(basename $0): PID $pid ($cmd) timeout after $count seconds"
+ kill -1 $pid
+ rv=47
+ fi
+done
+echo >&2 "$(basename $0): PID $pid ($cmd) finished after $count seconds"
# The trap runs on exit.
+exit $rv
......@@ -321,7 +321,7 @@ ifneq ($(trunk_build),yes)
ifeq ($(build_type),build-native)
ifeq (,$(DEB_STAGE))
ifeq (,$(filter $(distrelease),wheezy jessie stretch precise trusty xenial bionic))
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 armhf arm64 ppc64el s390x))
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 armhf arm64 powerpc ppc64 ppc64el s390x))
with_bootstrap := profiled
endif
endif
......@@ -335,14 +335,22 @@ ifneq ($(trunk_build),yes)
# Enable LTO only for 64bit builds
ifeq ($(DEB_BUILD_ARCH_BITS)-$(DEB_HOST_ARCH_BITS),64-64)
with_lto_build := yes
# times out on the buildds ...
ifneq (,$(filter $(DEB_HOST_ARCH), arm64))
with_lto_build :=
endif
endif
with_lto_build := yes
# FIXME: newer binutils needed?
ifneq (,$(filter $(distrelease),precise trusty xenial))
with_bootstrap :=
with_lto_build :=
endif
endif
ifneq ($(findstring nolto, $(DEB_BUILD_OPTIONS)),)
with_lto_build :=
endif
ifeq ($(with_lto_build),yes)
......@@ -1545,7 +1553,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH), hppa mips))
with_check := disabled for $(DEB_HOST_ARCH), testsuite timeouts with expect
endif
endif
#with_check := disabled for this upload
with_check := disabled for this upload
# not a dependency on all archs, but if available, use it for the testsuite
ifneq (,$(wildcard /usr/bin/localedef))
......
......@@ -81,6 +81,7 @@ debian_patches += \
ia64-disable-selective-scheduling \
pr87808 \
pr88419-revert \
verbose-lto-linker \
ifeq (,$(filter $(distrelease),precise trusty stretch jessie wheezy))
debian_patches += pr90050
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment