aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2009-04-02 21:41:58 +0000
committerAlan Modra <amodra@gcc.gnu.org>2009-04-03 08:11:58 +1030
commitaa1ca044b55fdca2b9c38728b512357f7ebc966b (patch)
tree65e6b00d6beceae781f901a503476e6fe1a2ddd6 /gcc
parentd5c8be275911317dc85c8441a852775c1192f022 (diff)
downloadgcc-aa1ca044b55fdca2b9c38728b512357f7ebc966b.zip
gcc-aa1ca044b55fdca2b9c38728b512357f7ebc966b.tar.gz
gcc-aa1ca044b55fdca2b9c38728b512357f7ebc966b.tar.bz2
config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file.
* config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file. Remove a number of t-files from tmake_file. * config/rs6000/sysv4.opt (mprototype): Name variable target_prototype. * config/rs6000/sysv4.h (TARGET_PROTOTYPE): Define. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set target_prototype, not TARGET_PROTOTYPE. (LINK_OS_GNU_SPEC): Define. * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Delete tramp.S and darwin-ldoubdle.c. From-SVN: r145477
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config.gcc4
-rw-r--r--gcc/config/rs6000/linux64.h6
-rw-r--r--gcc/config/rs6000/sysv4.h1
-rw-r--r--gcc/config/rs6000/sysv4.opt2
-rw-r--r--gcc/config/rs6000/t-linux643
6 files changed, 22 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c1ed8f..0c7f96d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2009-04-03 Alan Modra <amodra@bigpond.net.au>
+
+ * config.gcc (powerpc64-*-gnu*): Add rs6000/default64.h to tm_file.
+ Remove a number of t-files from tmake_file.
+ * config/rs6000/sysv4.opt (mprototype): Name variable target_prototype.
+ * config/rs6000/sysv4.h (TARGET_PROTOTYPE): Define.
+ * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
+ target_prototype, not TARGET_PROTOTYPE.
+ (LINK_OS_GNU_SPEC): Define.
+ * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Delete tramp.S
+ and darwin-ldoubdle.c.
+
2009-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
PR driver/39293
diff --git a/gcc/config.gcc b/gcc/config.gcc
index cf8c91b..4d1eb8d 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1723,9 +1723,9 @@ powerpc64-*-linux*)
tmake_file="t-dfprules rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
;;
powerpc64-*-gnu*)
- tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h glibc-stdint.h"
+ tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/default64.h rs6000/linux64.h rs6000/gnu.h glibc-stdint.h"
extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
- tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
+ tmake_file="t-slibgcc-elf-ver t-gnu"
;;
powerpc-*-darwin*)
extra_options="${extra_options} rs6000/darwin.opt"
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index ad2eb4b..24c63d3 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -99,7 +99,7 @@ extern int dot_symbols;
} \
if (TARGET_PROTOTYPE) \
{ \
- TARGET_PROTOTYPE = 0; \
+ target_prototype = 0; \
error (INVALID_64BIT, "prototype"); \
} \
if ((target_flags & MASK_POWERPC64) == 0) \
@@ -134,6 +134,10 @@ extern int dot_symbols;
#undef ASM_SPEC
#undef LINK_OS_LINUX_SPEC
+/* FIXME: This will quite possibly choose the wrong dynamic linker. */
+#undef LINK_OS_GNU_SPEC
+#define LINK_OS_GNU_SPEC LINK_OS_LINUX_SPEC
+
#ifndef RS6000_BI_ARCH
#define ASM_DEFAULT_SPEC "-mppc64"
#define ASM_SPEC "%(asm_spec64) %(asm_spec_common)"
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 1deb0eb..3102829 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -54,6 +54,7 @@ extern enum rs6000_sdata_type rs6000_sdata;
#define TARGET_BITFIELD_TYPE (! TARGET_NO_BITFIELD_TYPE)
#define TARGET_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN)
+#define TARGET_PROTOTYPE target_prototype
#define TARGET_NO_PROTOTYPE (! TARGET_PROTOTYPE)
#define TARGET_NO_TOC (! TARGET_TOC)
#define TARGET_NO_EABI (! TARGET_EABI)
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
index 85e0018..1ead31d 100644
--- a/gcc/config/rs6000/sysv4.opt
+++ b/gcc/config/rs6000/sysv4.opt
@@ -74,7 +74,7 @@ Target RejectNegative
no description yet
mprototype
-Target Var(TARGET_PROTOTYPE)
+Target Var(target_prototype)
Assume all variable arg functions are prototyped
;; FIXME: Does nothing.
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 2a2e7b0..4c1fae1 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -1,8 +1,7 @@
#rs6000/t-linux64
-LIB2FUNCS_EXTRA += tramp.S $(srcdir)/config/rs6000/ppc64-fp.c \
- $(srcdir)/config/rs6000/darwin-ldouble.c
+LIB2FUNCS_EXTRA += $(srcdir)/config/rs6000/ppc64-fp.c
LIB2FUNCS_EXTRA := $(sort $(LIB2FUNCS_EXTRA))
TARGET_LIBGCC2_CFLAGS += -mno-minimal-toc