diff mbox series

libffi/x86: Always check __x86_64__ for x86 hosts

Message ID 20210706010017.1922065-1-hjl.tools@gmail.com
State New
Headers show
Series libffi/x86: Always check __x86_64__ for x86 hosts | expand

Commit Message

H.J. Lu July 6, 2021, 1 a.m. UTC
Since for gnux32 hosts, -m32 generates i386 codes, always check __x86_64__
for x86 hosts.

	PR libffi/101336
	* configure.host: Always check __x86_64__ for x86 hosts.
---
 libffi/configure.host | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

Comments

H.J. Lu July 9, 2021, 4:31 p.m. UTC | #1
On Mon, Jul 5, 2021 at 6:00 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> Since for gnux32 hosts, -m32 generates i386 codes, always check __x86_64__
> for x86 hosts.
>
>         PR libffi/101336
>         * configure.host: Always check __x86_64__ for x86 hosts.
> ---
>  libffi/configure.host | 21 +++++++--------------
>  1 file changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/libffi/configure.host b/libffi/configure.host
> index 786b32c5bb0..7248acb7458 100644
> --- a/libffi/configure.host
> +++ b/libffi/configure.host
> @@ -95,20 +95,13 @@ case "${host}" in
>    i?86-*-* | x86_64-*-* | amd64-*)
>         TARGETDIR=x86
>         if test $ac_cv_sizeof_size_t = 4; then
> -         case "$host" in
> -           *-gnux32)
> -             TARGET=X86_64
> -             ;;
> -           *)
> -             echo 'int foo (void) { return __x86_64__; }' > conftest.c
> -             if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
> -               TARGET=X86_64;
> -             else
> -               TARGET=X86;
> -             fi
> -             rm -f conftest.*
> -             ;;
> -          esac
> +         echo 'int foo (void) { return __x86_64__; }' > conftest.c
> +         if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
> +           TARGET=X86_64;
> +         else
> +           TARGET=X86;
> +          fi
> +          rm -f conftest.*
>         else
>           TARGET=X86_64;
>         fi
> --
> 2.31.1
>

This has been fixed in upstream with

commit cb8474368cdef3207638d047bd6c707ad8fcb339
Author: hjl-tools <hjl.tools@gmail.com>
Date:   Wed Dec 2 12:52:12 2020 -0800

    libffi/x86: Always check __x86_64__ for x32 hosts (#601) (#602)

    Since for x86_64-*x32 and x86_64-x32-* hosts, -m32 generates ia32 codes.
    We should always check __x86_64__ for x32 hosts.

I will check it in if there are no objections.
diff mbox series

Patch

diff --git a/libffi/configure.host b/libffi/configure.host
index 786b32c5bb0..7248acb7458 100644
--- a/libffi/configure.host
+++ b/libffi/configure.host
@@ -95,20 +95,13 @@  case "${host}" in
   i?86-*-* | x86_64-*-* | amd64-*)
 	TARGETDIR=x86
 	if test $ac_cv_sizeof_size_t = 4; then
-	  case "$host" in
-	    *-gnux32)
-	      TARGET=X86_64
-	      ;;
-	    *)
-	      echo 'int foo (void) { return __x86_64__; }' > conftest.c
-	      if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
-		TARGET=X86_64;
-	      else
-		TARGET=X86;
-	      fi
-	      rm -f conftest.*
-	      ;;
-          esac
+	  echo 'int foo (void) { return __x86_64__; }' > conftest.c
+	  if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
+	    TARGET=X86_64;
+	  else
+	    TARGET=X86;
+	   fi
+	   rm -f conftest.*
 	else
 	  TARGET=X86_64;
 	fi