aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Klose <doko@ubuntu.com>2012-11-21 03:20:12 +0000
committerMatthias Klose <doko@gcc.gnu.org>2012-11-21 03:20:12 +0000
commitd757eae968da4dee24c728784a65fee9a3bb7d58 (patch)
treef045923719ecc99aab725410fb75827beb9e545d
parentf4d9c89a860714058a3aedd8170cd964dce6909e (diff)
downloadgcc-d757eae968da4dee24c728784a65fee9a3bb7d58.zip
gcc-d757eae968da4dee24c728784a65fee9a3bb7d58.tar.gz
gcc-d757eae968da4dee24c728784a65fee9a3bb7d58.tar.bz2
configure.ac: Substitute `with_cpu'.
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
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/Makefile.in1
-rw-r--r--gcc/config.gcc1
-rw-r--r--gcc/config/rs6000/t-fprules13
-rw-r--r--gcc/config/rs6000/t-linux5
-rw-r--r--gcc/config/rs6000/t-linux643
-rw-r--r--gcc/config/rs6000/t-spe4
-rwxr-xr-xgcc/configure7
-rw-r--r--gcc/configure.ac1
9 files changed, 35 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d706db7..c19eac0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 76a2ca6..17d5bd3 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -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)
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 8c26170..bd9067f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -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
diff --git a/gcc/config/rs6000/t-fprules b/gcc/config/rs6000/t-fprules
index 913bbbd..2674c0e 100644
--- a/gcc/config/rs6000/t-fprules
+++ b/gcc/config/rs6000/t-fprules
@@ -16,17 +16,8 @@
# 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
index 0000000..a9f9865
--- /dev/null
+++ b/gcc/config/rs6000/t-linux
@@ -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
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index fb1af5d..b44f4ea 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -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)
diff --git a/gcc/config/rs6000/t-spe b/gcc/config/rs6000/t-spe
index 1bed1e3..90eb802 100644
--- a/gcc/config/rs6000/t-spe
+++ b/gcc/config/rs6000/t-spe
@@ -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
diff --git a/gcc/configure b/gcc/configure
index 76eec29..b16fb3f 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -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
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 9781e69..4878c35 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -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++.