From 3e239be647036760563e62639ea574a2c55b9191 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 25 Jun 2014 17:52:56 +0000 Subject: [PATCH] Move base_machine and machine settings from configure.ac to sysdeps preconfigure fragments. This patch makes non-ex-ports architectures set base_machine and machine based on the original configured machine value in preconfigure fragments, like ex-ports architectures, rather than in the toplevel configure.ac. Tested x86 that the disassembly of installed shared libraries is unchanged by the patch. * configure.ac (base_machine): Do not set specially for particular machines here. * configure: Regenerated. * sysdeps/powerpc/preconfigure: Move machine and base_machine settings from configure.ac. * sysdeps/i386/preconfigure: New file. * sysdeps/s390/preconfigure: Likewise. * sysdeps/sh/preconfigure: Likewise. * sysdeps/sparc/preconfigure: Likewise. --- ChangeLog | 12 ++++++++++++ configure | 35 ++------------------------------- configure.ac | 38 ++---------------------------------- sysdeps/i386/preconfigure | 5 +++++ sysdeps/powerpc/preconfigure | 10 ++++++++-- sysdeps/s390/preconfigure | 6 ++++++ sysdeps/sh/preconfigure | 6 ++++++ sysdeps/sparc/preconfigure | 24 +++++++++++++++++++++++ 8 files changed, 65 insertions(+), 71 deletions(-) create mode 100644 sysdeps/i386/preconfigure create mode 100644 sysdeps/s390/preconfigure create mode 100644 sysdeps/sh/preconfigure create mode 100644 sysdeps/sparc/preconfigure diff --git a/ChangeLog b/ChangeLog index 94a1f40b4f..7ba560d046 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2014-06-25 Joseph Myers + + * configure.ac (base_machine): Do not set specially for particular + machines here. + * configure: Regenerated. + * sysdeps/powerpc/preconfigure: Move machine and base_machine + settings from configure.ac. + * sysdeps/i386/preconfigure: New file. + * sysdeps/s390/preconfigure: Likewise. + * sysdeps/sh/preconfigure: Likewise. + * sysdeps/sparc/preconfigure: Likewise. + 2014-06-25 Roland McGrath * sysdeps/sparc/sparc64/nptl/cpu_relax.S: Moved ... diff --git a/configure b/configure index ecc282bd2e..e7ffb831d5 100755 --- a/configure +++ b/configure @@ -3965,39 +3965,8 @@ if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then esac fi -# Expand the configuration machine name into a subdirectory by architecture -# type and particular chip. If an add-on configure fragment already set -# base_machine, we don't change it. -test -n "$base_machine" || case "$machine" in -i[4567]86) base_machine=i386 machine=i386/$machine ;; -powerpc64*) base_machine=powerpc machine=powerpc/powerpc64 ;; -powerpc*) base_machine=powerpc machine=powerpc/powerpc32 ;; -s390) base_machine=s390 machine=s390/s390-32 ;; -s390x) base_machine=s390 machine=s390/s390-64 ;; -sh3*) base_machine=sh machine=sh/sh3 ;; -sh4*) base_machine=sh machine=sh/sh4 ;; -sparc | sparcv[67]) - base_machine=sparc machine=sparc/sparc32 ;; -sparcv8 | supersparc | hypersparc) - base_machine=sparc machine=sparc/sparc32/sparcv8 ;; -sparcv8plus | sparcv8plusa | sparcv9) - base_machine=sparc machine=sparc/sparc32/sparcv9 ;; -sparcv8plusb | sparcv9b) - base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;; -sparcv9v) - base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;; -sparcv9v2) - base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;; -sparc64) - base_machine=sparc machine=sparc/sparc64 ;; -sparc64b) - base_machine=sparc machine=sparc/sparc64/sparcv9b ;; -sparc64v) - base_machine=sparc machine=sparc/sparc64/sparcv9v ;; -sparc64v2) - base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;; -*) base_machine=$machine ;; -esac +# Set base_machine if not set by a preconfigure fragment. +test -n "$base_machine" || base_machine=$machine if test "$base_machine" = "i386"; then diff --git a/configure.ac b/configure.ac index babfe5713c..2d5b902a49 100644 --- a/configure.ac +++ b/configure.ac @@ -582,42 +582,8 @@ if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then esac fi -dnl We need to use [ and ] for other purposes for a while now. -changequote(,)dnl -# Expand the configuration machine name into a subdirectory by architecture -# type and particular chip. If an add-on configure fragment already set -# base_machine, we don't change it. -test -n "$base_machine" || case "$machine" in -i[4567]86) base_machine=i386 machine=i386/$machine ;; -powerpc64*) base_machine=powerpc machine=powerpc/powerpc64 ;; -powerpc*) base_machine=powerpc machine=powerpc/powerpc32 ;; -s390) base_machine=s390 machine=s390/s390-32 ;; -s390x) base_machine=s390 machine=s390/s390-64 ;; -sh3*) base_machine=sh machine=sh/sh3 ;; -sh4*) base_machine=sh machine=sh/sh4 ;; -sparc | sparcv[67]) - base_machine=sparc machine=sparc/sparc32 ;; -sparcv8 | supersparc | hypersparc) - base_machine=sparc machine=sparc/sparc32/sparcv8 ;; -sparcv8plus | sparcv8plusa | sparcv9) - base_machine=sparc machine=sparc/sparc32/sparcv9 ;; -sparcv8plusb | sparcv9b) - base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;; -sparcv9v) - base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;; -sparcv9v2) - base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;; -sparc64) - base_machine=sparc machine=sparc/sparc64 ;; -sparc64b) - base_machine=sparc machine=sparc/sparc64/sparcv9b ;; -sparc64v) - base_machine=sparc machine=sparc/sparc64/sparcv9v ;; -sparc64v2) - base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;; -*) base_machine=$machine ;; -esac -changequote([,])dnl +# Set base_machine if not set by a preconfigure fragment. +test -n "$base_machine" || base_machine=$machine AC_SUBST(base_machine) if test "$base_machine" = "i386"; then diff --git a/sysdeps/i386/preconfigure b/sysdeps/i386/preconfigure new file mode 100644 index 0000000000..c8fefd1bff --- /dev/null +++ b/sysdeps/i386/preconfigure @@ -0,0 +1,5 @@ +# preconfigure fragment for i386. + +case "$machine" in +i[4567]86) base_machine=i386 machine=i386/$machine ;; +esac diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure index 1741c251f1..0c6fdde7aa 100644 --- a/sysdeps/powerpc/preconfigure +++ b/sysdeps/powerpc/preconfigure @@ -1,10 +1,16 @@ -# Check for e500. +# preconfigure fragment for powerpc. case "$machine" in -powerpc) +powerpc64*) + base_machine=powerpc machine=powerpc/powerpc64 + ;; +powerpc*) + # Check for e500. $CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null > conftest.i if grep -q __NO_FPRS__ conftest.i && ! grep -q _SOFT_FLOAT conftest.i; then base_machine=powerpc machine=powerpc/powerpc32/e500 + else + base_machine=powerpc machine=powerpc/powerpc32 fi rm -f conftest.i ;; diff --git a/sysdeps/s390/preconfigure b/sysdeps/s390/preconfigure new file mode 100644 index 0000000000..d6302b0c15 --- /dev/null +++ b/sysdeps/s390/preconfigure @@ -0,0 +1,6 @@ +# preconfigure fragment for s390. + +case "$machine" in +s390) base_machine=s390 machine=s390/s390-32 ;; +s390x) base_machine=s390 machine=s390/s390-64 ;; +esac diff --git a/sysdeps/sh/preconfigure b/sysdeps/sh/preconfigure new file mode 100644 index 0000000000..c1f6537797 --- /dev/null +++ b/sysdeps/sh/preconfigure @@ -0,0 +1,6 @@ +# preconfigure fragment for sh. + +case "$machine" in +sh3*) base_machine=sh machine=sh/sh3 ;; +sh4*) base_machine=sh machine=sh/sh4 ;; +esac diff --git a/sysdeps/sparc/preconfigure b/sysdeps/sparc/preconfigure new file mode 100644 index 0000000000..de86749573 --- /dev/null +++ b/sysdeps/sparc/preconfigure @@ -0,0 +1,24 @@ +# preconfigure fragment for sparc. + +case "$machine" in +sparc | sparcv[67]) + base_machine=sparc machine=sparc/sparc32 ;; +sparcv8 | supersparc | hypersparc) + base_machine=sparc machine=sparc/sparc32/sparcv8 ;; +sparcv8plus | sparcv8plusa | sparcv9) + base_machine=sparc machine=sparc/sparc32/sparcv9 ;; +sparcv8plusb | sparcv9b) + base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;; +sparcv9v) + base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;; +sparcv9v2) + base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;; +sparc64) + base_machine=sparc machine=sparc/sparc64 ;; +sparc64b) + base_machine=sparc machine=sparc/sparc64/sparcv9b ;; +sparc64v) + base_machine=sparc machine=sparc/sparc64/sparcv9v ;; +sparc64v2) + base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;; +esac