aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iains@gcc.gnu.org>2010-05-25 11:59:45 +0000
committerIain Sandoe <iains@gcc.gnu.org>2010-05-25 11:59:45 +0000
commit9a2d05e0bcc7994e60b533dcab0715278cfd7f04 (patch)
tree58eb8357708d4002133110e5faed19e89b8c2803
parent8fde8b401da8b351f0ad3ed914e2b9cc9f3e9899 (diff)
downloadgcc-9a2d05e0bcc7994e60b533dcab0715278cfd7f04.zip
gcc-9a2d05e0bcc7994e60b533dcab0715278cfd7f04.tar.gz
gcc-9a2d05e0bcc7994e60b533dcab0715278cfd7f04.tar.bz2
enable multilibs on powerpc64-apple-darwin
* config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC. * config/rs6000/t-darwin64: New. * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64, build crt2. From-SVN: r159817
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config.gcc5
-rw-r--r--gcc/config/rs6000/darwin64.h2
-rw-r--r--gcc/config/rs6000/t-darwin6412
4 files changed, 23 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8833cca..7d186a6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
+ * config/rs6000/t-darwin64: New.
+ * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
+ build crt2.
+
2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
PR 44203
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 7318a94..56f84e1 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1906,9 +1906,10 @@ powerpc-*-darwin*)
extra_headers=altivec.h
;;
powerpc64-*-darwin*)
- tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
extra_options="${extra_options} ${cpu_type}/darwin.opt"
- # We're omitting t-darwin8 to avoid building any multilibs
+ extra_parts="crt2.o"
+ tmake_file="t-darwin ${cpu_type}/t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin"
+ tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
lto_binary_reader=lto-macho
extra_headers=altivec.h
;;
diff --git a/gcc/config/rs6000/darwin64.h b/gcc/config/rs6000/darwin64.h
index 4efff88..b8502be 100644
--- a/gcc/config/rs6000/darwin64.h
+++ b/gcc/config/rs6000/darwin64.h
@@ -26,7 +26,7 @@
| MASK_MULTIPLE | MASK_NEW_MNEMONICS | MASK_PPC_GFXOPT)
#undef DARWIN_ARCH_SPEC
-#define DARWIN_ARCH_SPEC "ppc64"
+#define DARWIN_ARCH_SPEC "%{m32:ppc;:ppc64}"
#undef DARWIN_SUBARCH_SPEC
#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
diff --git a/gcc/config/rs6000/t-darwin64 b/gcc/config/rs6000/t-darwin64
new file mode 100644
index 0000000..2a24d7f
--- /dev/null
+++ b/gcc/config/rs6000/t-darwin64
@@ -0,0 +1,12 @@
+LIB2_SIDITI_CONV_FUNCS=yes
+
+LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-tramp.asm \
+ $(srcdir)/config/darwin-64.c \
+ $(srcdir)/config/rs6000/darwin-ldouble.c \
+ $(srcdir)/config/rs6000/darwin-world.asm
+
+MULTILIB_OPTIONS = m32
+MULTILIB_DIRNAMES = ppc
+
+#LIBGCC = stmp-multilib
+#INSTALL_LIBGCC = install-multilib