configure.ac: Substitute `with_cpu'.
authorMatthias Klose <doko@ubuntu.com>
Wed, 21 Nov 2012 03:20:12 +0000 (03:20 +0000)
committerMatthias Klose <doko@gcc.gnu.org>
Wed, 21 Nov 2012 03:20:12 +0000 (03:20 +0000)
2012-11-20  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Substitute `with_cpu'.
        * configure: Regenerate.
        * Makefile.in: Define `with_cpu'.
        * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
        * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
        * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
        to the list.
        (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
        * config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
        * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
        Include rs6000/t-linux for 32bit non-biarch configurations.

From-SVN: r193686

gcc/ChangeLog
gcc/Makefile.in
gcc/config.gcc
gcc/config/rs6000/t-fprules
gcc/config/rs6000/t-linux [new file with mode: 0644]
gcc/config/rs6000/t-linux64
gcc/config/rs6000/t-spe
gcc/configure
gcc/configure.ac

index d706db7..c19eac0 100644 (file)
@@ -1,5 +1,19 @@
 2012-11-20  Matthias Klose  <doko@ubuntu.com>
 
+       * configure.ac: Substitute `with_cpu'.
+       * configure: Regenerate.
+       * Makefile.in: Define `with_cpu'.
+       * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+       * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
+       * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
+       to the list.
+       (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
+       * config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
+       * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
+       Include rs6000/t-linux for 32bit non-biarch configurations.
+
+2012-11-20  Matthias Klose  <doko@ubuntu.com>
+
        * doc/install.texi: Move multiarch paragraph out of multilib
        documentation.
 
index 76a2ca6..17d5bd3 100644 (file)
@@ -532,6 +532,7 @@ host_hook_obj=@out_host_hook_obj@
 
 # Multiarch support
 enable_multiarch = @enable_multiarch@
+with_cpu = @with_cpu@
 with_float = @with_float@
 ifeq ($(enable_multiarch),yes)
   if_multiarch = $(1)
index 8c26170..bd9067f 100644 (file)
@@ -2059,6 +2059,7 @@ powerpc-*-linux* | powerpc64-*-linux*)
                ;;
            *)
                tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
+               tmake_file="$tmake_file rs6000/t-linux"
                ;;
        esac
        case ${target} in
index 913bbbd..2674c0e 100644 (file)
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
-                         msoft-float=mcpu?403 \
-                         msoft-float=mcpu?405 \
-                         msoft-float=mcpu?440 \
-                         msoft-float=mcpu?464 \
-                         msoft-float=mcpu?476 \
-                         msoft-float=mcpu?ec603e \
-                         msoft-float=mcpu?801 \
-                         msoft-float=mcpu?821 \
-                         msoft-float=mcpu?823 \
-                         msoft-float=mcpu?860
+SOFT_FLOAT_CPUS = e300c2 401 403 405 440 464 476 ec603e 801 821 823 860
+MULTILIB_MATCHES_FLOAT = $(foreach cpu, $(SOFT_FLOAT_CPUS), msoft-float=mcpu?$(cpu))
 
 # Build the libraries for both hard and soft floating point by default
 
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
new file mode 100644 (file)
index 0000000..a9f9865
--- /dev/null
@@ -0,0 +1,5 @@
+# do not define the multiarch name if configured for a soft-float cpu
+# or soft-float.
+ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float))
+MULTIARCH_DIRNAME = powerpc-linux-gnu
+endif
index fb1af5d..b44f4ea 100644 (file)
@@ -29,4 +29,5 @@
 MULTILIB_OPTIONS        = m64/m32
 MULTILIB_DIRNAMES       = 64 32
 MULTILIB_EXTRA_OPTS     = fPIC
-MULTILIB_OSDIRNAMES    = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES    = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES    += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
index 1bed1e3..90eb802 100644 (file)
@@ -71,3 +71,7 @@ MULTILIB_EXCEPTIONS   = maltivec mabi=altivec mno-spe mabi=no-spe mno-isel \
                          mabi=altivec/mlittle \
                          maltivec/mlittle \
                          maltivec/mabi=altivec/mlittle
+
+ifneq (,$(findstring linux, $(target)))
+MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring rs6000/e500-double.h, $(tm_file)),,v1)
+endif
index 76eec29..b16fb3f 100755 (executable)
@@ -766,6 +766,7 @@ enable_shared
 enable_fixed_point
 enable_decimal_float
 with_float
+with_cpu
 enable_multiarch
 enable_multilib
 coverage_flags
@@ -7050,6 +7051,7 @@ $as_echo "$enable_multiarch$ma_msg_suffix" >&6; }
 # needed for setting the multiarch name for soft-float/hard-float ABIs
 
 
+
 # Enable __cxa_atexit for C++.
 # Check whether --enable-__cxa_atexit was given.
 if test "${enable___cxa_atexit+set}" = set; then :
@@ -7072,6 +7074,7 @@ else
 
   case $target in
     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
+    i?86*-*-gnu* | \
     i?86*-*-mingw* | x86_64*-*-mingw* | \
     i?86*-*-cygwin*)
       enable_decimal_float=yes
@@ -17819,7 +17822,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17822 "configure"
+#line 17825 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17925,7 +17928,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17928 "configure"
+#line 17931 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
index 9781e69..4878c35 100644 (file)
@@ -636,6 +636,7 @@ AC_SUBST(enable_multiarch)
 AC_MSG_RESULT($enable_multiarch$ma_msg_suffix)
 
 # needed for setting the multiarch name for soft-float/hard-float ABIs
+AC_SUBST(with_cpu)
 AC_SUBST(with_float)
 
 # Enable __cxa_atexit for C++.