summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-08-13 20:51:55 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-08-13 20:51:55 +0000
commit283171a9cd70d0b8d3bd3ba964f5c5b8b7cdbe3f (patch)
treeaf77e84e2724bbf271d47c71ecf516a79bdf36ef /gcc/config
parent9461e7f03edb8bbc504994ada7efa491ff3ac43c (diff)
downloadgcc-283171a9cd70d0b8d3bd3ba964f5c5b8b7cdbe3f.tar.gz
Build fewer multilibs
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12632 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/eabi.h2
-rw-r--r--gcc/config/rs6000/eabiaix.h2
-rw-r--r--gcc/config/rs6000/eabile.h2
-rw-r--r--gcc/config/rs6000/linux.h12
-rw-r--r--gcc/config/rs6000/rs6000.c6
-rw-r--r--gcc/config/rs6000/sol2.h2
-rw-r--r--gcc/config/rs6000/sysv4.h2
-rw-r--r--gcc/config/rs6000/sysv4le.h2
-rw-r--r--gcc/config/rs6000/t-ppcgas26
9 files changed, 34 insertions, 22 deletions
diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h
index 926e314ca76..1c225ea35dc 100644
--- a/gcc/config/rs6000/eabi.h
+++ b/gcc/config/rs6000/eabi.h
@@ -37,4 +37,4 @@ Boston, MA 02111-1307, USA. */
"-DPPC -D__embedded__ -Asystem(embedded) -Acpu(powerpc) -Amachine(powerpc)"
#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "mbig", "mbig-endian", "mcall-sysv-eabi", "mno-sdata" }
+#define MULTILIB_DEFAULTS { "mbig", "mcall-sysv" }
diff --git a/gcc/config/rs6000/eabiaix.h b/gcc/config/rs6000/eabiaix.h
index c38ddb354b4..5cfd890a03e 100644
--- a/gcc/config/rs6000/eabiaix.h
+++ b/gcc/config/rs6000/eabiaix.h
@@ -38,4 +38,4 @@ Boston, MA 02111-1307, USA. */
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "mbig", "mbig-endian", "mcall-aix", "mno-sdata" }
+#define MULTILIB_DEFAULTS { "mbig", "mcall-aix" }
diff --git a/gcc/config/rs6000/eabile.h b/gcc/config/rs6000/eabile.h
index ef139d86414..78dc7bc89c4 100644
--- a/gcc/config/rs6000/eabile.h
+++ b/gcc/config/rs6000/eabile.h
@@ -43,4 +43,4 @@ Boston, MA 02111-1307, USA. */
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "mlittle", "mlittle-endian", "mcall-sysv-eabi", "mno-sdata" }
+#define MULTILIB_DEFAULTS { "mlittle", "mcall-sysv" }
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 95388004802..7540f62dd6b 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -46,3 +46,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (PowerPC Linux)");
+
+/* Define this macro as a C expression for the initializer of an
+ array of string to tell the driver program which options are
+ defaults for this target and thus do not need to be handled
+ specially when using `MULTILIB_OPTIONS'.
+
+ Do not define this macro if `MULTILIB_OPTIONS' is not defined in
+ the target makefile fragment or if none of the options listed in
+ `MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
+
+#undef MULTILIB_DEFAULTS
+#define MULTILIB_DEFAULTS { "mbig", "mcall-linux" }
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 0fe123e1122..6c8981e6762 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4135,9 +4135,9 @@ output_toc (file, x, labelno)
a TOC reference to an unknown section. Thus, for vtables only,
we emit the TOC reference to reference the symbol and not the
section. */
- if (!strncmp ("_vt.", real_name, 4))
+ if (!strncmp ("_vt.", name, 4))
{
- RS6000_OUTPUT_BASENAME (file, real_name);
+ RS6000_OUTPUT_BASENAME (file, name);
if (offset < 0)
fprintf (file, "%d", offset);
else if (offset > 0)
@@ -4974,7 +4974,7 @@ handle_mac_pragma (finput, t)
int retval = 0;
register char *pname;
char pbuf[200];
- int c, psize;
+ int c, psize = 0;
if (TREE_CODE (t) != IDENTIFIER_NODE)
return 0;
diff --git a/gcc/config/rs6000/sol2.h b/gcc/config/rs6000/sol2.h
index 017ba3542a4..00c90f1e042 100644
--- a/gcc/config/rs6000/sol2.h
+++ b/gcc/config/rs6000/sol2.h
@@ -164,4 +164,4 @@ while (0)
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "mlittle", "mlittle-endian", "mcall-solaris", "mno-sdata" }
+#define MULTILIB_DEFAULTS { "mlittle", "mcall-solaris" }
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 68f4b8396b2..940da5a4823 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -1347,4 +1347,4 @@ do { \
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "mbig", "mbig-endian", "mcall-sysv-noeabi", "mno-sdata" }
+#define MULTILIB_DEFAULTS { "mbig", "mcall-sysv" }
diff --git a/gcc/config/rs6000/sysv4le.h b/gcc/config/rs6000/sysv4le.h
index 4670cb4b910..0cf2ec49019 100644
--- a/gcc/config/rs6000/sysv4le.h
+++ b/gcc/config/rs6000/sysv4le.h
@@ -43,4 +43,4 @@ Boston, MA 02111-1307, USA. */
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
-#define MULTILIB_DEFAULTS { "mlittle", "mlittle-endian", "mcall-sysv-noeabi", "mno-sdata" }
+#define MULTILIB_DEFAULTS { "mlittle", "mcall-sysv" }
diff --git a/gcc/config/rs6000/t-ppcgas b/gcc/config/rs6000/t-ppcgas
index cea52c06d9a..3256de50592 100644
--- a/gcc/config/rs6000/t-ppcgas
+++ b/gcc/config/rs6000/t-ppcgas
@@ -24,30 +24,30 @@ eabi-ctors.c: $(srcdir)/config/rs6000/eabi-ctors.c
# Build libgcc.a with different options.
MULTILIB_OPTIONS = msoft-float \
- mrelocatable-lib \
mlittle/mbig \
- mcall-sysv-noeabi/mcall-sysv-eabi/mcall-aix
+ mcall-sysv/mcall-aix/mcall-solaris/mcall-linux
MULTILIB_DIRNAMES = nof \
- rel \
le be \
- cs ce ca
+ cs ca sol lin
MULTILIB_MATCHES = mlittle=mlittle-endian \
- mlittle=mcall-solaris \
mbig=mbig-endian \
mbig=mcall-linux \
msoft-float=mcpu?403 \
msoft-float=mcpu?821 \
msoft-float=mcpu?860 \
- mcall-sysv-noeabi=mcall-linux \
- mcall-sysv-eabi=meabi \
- mcall-sysv-noeabi=mno-eabi \
- mcall-sysv-noeabi=mcall-solaris \
- mrelocatable-lib=mrelocatable \
- mrelocatable-lib=fpic \
- mrelocatable-lib=fPIC \
- mrelocatable-lib=shared
+ mcall-sysv=mcall-solaris \
+ mcall-sysv=mcall-sysv-eabi \
+ mcall-sysv=mcall-sysv-noeabi
+
+MULTILIB_EXTRA_OPTS = mrelocatable-lib mno-eabi
+MULTILIB_EXCEPTIONS = *mbig/*mcall-solaris* \
+ *mlittle/*mcall-solaris* \
+ *msoft-float/*mcall-solaris* \
+ *mbig/*mcall-linux* \
+ *mlittle/*mcall-linux* \
+ *msoft-float/*mcall-linux*
LIBGCC = stmp-multilib stmp-crt
INSTALL_LIBGCC = install-multilib install-crt