Build fewer multilibs
authorMichael Meissner <meissner@gcc.gnu.org>
Tue, 13 Aug 1996 20:51:55 +0000 (20:51 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 13 Aug 1996 20:51:55 +0000 (20:51 +0000)
From-SVN: r12632

gcc/config/rs6000/eabi.h
gcc/config/rs6000/eabiaix.h
gcc/config/rs6000/eabile.h
gcc/config/rs6000/linux.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/sol2.h
gcc/config/rs6000/sysv4.h
gcc/config/rs6000/sysv4le.h
gcc/config/rs6000/t-ppcgas

index 926e314ca76b8e108f569ba6eeaa9bcaab578b65..1c225ea35dcc19fae4f06c51f4495db912403ae8 100644 (file)
@@ -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" }
index c38ddb354b4c859487c79b735d399599d54b829f..5cfd890a03e417ced54c5834fbb8f31d4f964604 100644 (file)
@@ -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" }
index ef139d864140f1246ef491e5841ef927670748d0..78dc7bc89c4b496e540ec12f0d5701bd3bf748b5 100644 (file)
@@ -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" }
index 95388004802dc6e57ced9e978f7af73396d6e7c7..7540f62dd6b8736618f7453dad9cd045d674b07e 100644 (file)
@@ -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" }
index 0fe123e1122f91c937f64da4a9826c1dce16f3e7..6c8981e6762c747a03b7d5574b31e87aac02df8f 100644 (file)
@@ -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;
index 017ba3542a4d70479d6b4ab99ab7e14698ee3845..00c90f1e0429bbbf5e36d6141c87c30847b4e2d9 100644 (file)
@@ -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" }
index 68f4b8396b2af1ef9e73b4b63318abc0a3879135..940da5a4823d41a3d1687ad478b5384cb0c79033 100644 (file)
@@ -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" }
index 4670cb4b910b3d2feb62c079485e8eb51d5d8c5e..0cf2ec4901911e4fd93d1cc8d1e3c5d08b7e7eef 100644 (file)
@@ -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" }
index cea52c06d9a7e5d63dfc556f8ad5b0194ab21b5a..3256de50592e1238c7c3733e8ccd7c940c96a855 100644 (file)
@@ -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