From: Ian Lance Taylor Date: Tue, 23 Jan 2024 01:26:23 +0000 (-0800) Subject: libgo: better error messages for unknown GOARCH/GOOS X-Git-Tag: basepoints/gcc-15~1376 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfc6d9ae8143cf0e903384bc63e8d659ca1c9fe7;p=thirdparty%2Fgcc.git libgo: better error messages for unknown GOARCH/GOOS PR go/113530 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/557655 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 18281c6cd1e9..429904a2b8f9 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -7ab229670f7dad1d79f33929f9a4f8e6e4a71526 +8c056e335cecec67d1d223a329b7ba4dac778a65 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/Makefile.am b/libgo/Makefile.am index c95dc2106cdd..3eccadbac67b 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -497,6 +497,10 @@ s-version: Makefile zgoarch.go: s-zgoarch; @true s-zgoarch: Makefile goarch.sh rm -f zgoarch.go.tmp + if ! $(SHELL) $(srcdir)/goarch.sh $(GOARCH) family >/dev/null 2>/dev/null; then \ + $(SHELL) $(srcdir)/goarch.sh $(GOARCH) family; \ + exit 1; \ + fi echo "package goarch" > zgoarch.go.tmp echo >> zgoarch.go.tmp echo 'const GOARCH = "'$(GOARCH)'"' >> zgoarch.go.tmp diff --git a/libgo/Makefile.in b/libgo/Makefile.in index 8dcb6d6a3548..0a2b7ee55301 100644 --- a/libgo/Makefile.in +++ b/libgo/Makefile.in @@ -2716,6 +2716,10 @@ s-version: Makefile zgoarch.go: s-zgoarch; @true s-zgoarch: Makefile goarch.sh rm -f zgoarch.go.tmp + if ! $(SHELL) $(srcdir)/goarch.sh $(GOARCH) family >/dev/null 2>/dev/null; then \ + $(SHELL) $(srcdir)/goarch.sh $(GOARCH) family; \ + exit 1; \ + fi echo "package goarch" > zgoarch.go.tmp echo >> zgoarch.go.tmp echo 'const GOARCH = "'$(GOARCH)'"' >> zgoarch.go.tmp diff --git a/libgo/configure b/libgo/configure index db371bc76f10..20bff2bd6bec 100755 --- a/libgo/configure +++ b/libgo/configure @@ -14107,6 +14107,10 @@ fi +if test "${GOOS}" = "unknown"; then + as_fn_error $? "\"could not determine GOOS from ${host}\"" "$LINENO" 5 +fi + USE_DEJAGNU=no case ${host} in *-*-rtems*) USE_DEJAGNU=yes ;; @@ -14339,6 +14343,10 @@ esac +if test "${GOARCH}" = "unknown"; then + as_fn_error $? "\"could not determine GOARCH from ${host}\"" "$LINENO" 5 +fi + if test "$GOARCH" = "386" -o "$GOARCH" = "amd64" -o "$GOARCH" = "amd64p32"; then LIBGO_IS_X86_TRUE= LIBGO_IS_X86_FALSE='#' diff --git a/libgo/configure.ac b/libgo/configure.ac index e8d66f8415d9..22158ac7f5d2 100644 --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -209,6 +209,10 @@ AM_CONDITIONAL(LIBGO_IS_BSD, test $is_darwin = yes -o $is_dragonfly = yes -o $is AC_SUBST(GOOS) AC_SUBST(ALLGOOS) +if test "${GOOS}" = "unknown"; then + AC_MSG_ERROR("could not determine GOOS from ${host}") +fi + dnl Test whether we need to use DejaGNU or whether we can use the dnl simpler gotest approach. We can only use gotest for a native dnl build. @@ -376,6 +380,10 @@ AC_SUBST(GOARCH) AC_SUBST(ALLGOARCH) AC_SUBST(ALLGOARCHFAMILY) +if test "${GOARCH}" = "unknown"; then + AC_MSG_ERROR("could not determine GOARCH from ${host}") +fi + AM_CONDITIONAL(LIBGO_IS_X86, test "$GOARCH" = "386" -o "$GOARCH" = "amd64" -o "$GOARCH" = "amd64p32") FUNCTION_DESCRIPTORS=false