https://gcc.gnu.org/g:6a55ff29578e8afbe795547468a78494b3b52831

commit r15-2368-g6a55ff29578e8afbe795547468a78494b3b52831
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Sun Jul 28 11:34:17 2024 +0100

    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:
---
 gcc/exec-tool.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gcc/exec-tool.in b/gcc/exec-tool.in
index 7d152e083a7d..2767e1019b87 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

Reply via email to