From: Jonathan Wakely Date: Sun, 28 Jul 2024 10:34:17 +0000 (+0100) Subject: gcc: Make exec-tool.in handle missing Binutils more gracefully X-Git-Tag: basepoints/gcc-16~7185 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a55ff29578e8afbe795547468a78494b3b52831;p=thirdparty%2Fgcc.git gcc: Make exec-tool.in handle missing Binutils more gracefully When users try to build a cross-compiler without first installing binutils they get confusing errors like: /tmp/gcc-obj/./gcc/as: line 114: exec: -m: invalid option This is an incredibly common source of questions on gcc-help and IRC, and bogus bug reports e.g. see PR 116119 for the latest example. This change adds an explicit check for an empty $original variable and exits with a user-friendly error. gcc/ChangeLog: * exec-tool.in: Exit with an error if $original is empty. --- diff --git a/gcc/exec-tool.in b/gcc/exec-tool.in index 7d152e083a7..2767e1019b8 100644 --- a/gcc/exec-tool.in +++ b/gcc/exec-tool.in @@ -81,6 +81,14 @@ case "$invoked" in ;; esac +if test -z "$original" +then + echo "$0: \$original is unset" >&2 + echo "This probably means there is no '$invoked' for the target." >&2 + echo "For a cross-compiler, you probably need to install Binutils first." >&2 + exit 1 +fi + case "$original" in ../*) # compute absolute path of the location of this script