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.
This commit is contained in:
Jonathan Wakely 2024-07-28 11:34:17 +01:00 committed by Jonathan Wakely
parent 0f1de0c4ce
commit 6a55ff2957
No known key found for this signature in database

View File

@ -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