]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR modula2/111956 Many powerpc platforms do _not_ have support for IEEE754
authorGaius Mulley <gaiusmod2@gmail.com>
Thu, 18 Jan 2024 13:06:30 +0000 (13:06 +0000)
committerGaius Mulley <gaiusmod2@gmail.com>
Thu, 18 Jan 2024 13:06:30 +0000 (13:06 +0000)
This patch corrects commit
r14-4149-g81d5ca0b9b8431f1bd7a5ec8a2c94f04bb0cf032 which assummed
all powerpc platforms would have IEEE754 long double.  The patch
ensures that cc1gm2 obtains the default IEEE754 long double availability
from the configure generated tm_defines.  The user command
line switches -mabi=ibmlongdouble and -mabi=ieeelongdouble are implemented
to override the configuration defaults.

Bootstrapped on power8 and power9 machines.

gcc/m2/ChangeLog:

PR modula2/111956
* Make-lang.in (host_mc_longreal): Remove.
* configure: Regenerate.
* configure.ac (M2C_LONGREAL_FLOAT128): Remove.
(M2C_LONGREAL_PPC64LE): Remove.
* gm2-compiler/M2Options.def (SetIBMLongDouble): New procedure.
(GetIBMLongDouble): New procedure function.
(SetIEEELongDouble): New procedure.
(GetIEEELongDouble): New procedure function.
* gm2-compiler/M2Options.mod (SetIBMLongDouble): New procedure.
(GetIBMLongDouble): New procedure function.
(SetIEEELongDouble): New procedure.
(GetIEEELongDouble): New procedure function.
(InitializeLongDoubleFlags): New procedure called during
module block initialization.
* gm2-gcc/m2configure.cc: Remove duplicate includes.
(m2configure_M2CLongRealFloat128): Remove.
(m2configure_M2CLongRealIBM128): Remove.
(m2configure_M2CLongRealLongDouble): Remove.
(m2configure_M2CLongRealLongDoublePPC64LE): Remove.
(m2configure_TargetIEEEQuadDefault): New function.
* gm2-gcc/m2configure.def (M2CLongRealFloat128): Remove.
(M2CLongRealIBM128): Remove.
(M2CLongRealLongDouble): Remove.
(M2CLongRealLongDoublePPC64LE): Remove.
(TargetIEEEQuadDefault): New function.
* gm2-gcc/m2configure.h (m2configure_M2CLongRealFloat128): Remove.
(m2configure_M2CLongRealIBM128): Remove.
(m2configure_M2CLongRealLongDouble): Remove.
(m2configure_M2CLongRealLongDoublePPC64LE): Remove.
(m2configure_TargetIEEEQuadDefault): New function.
* gm2-gcc/m2options.h (M2Options_SetIBMLongDouble): New prototype.
(M2Options_GetIBMLongDouble): New prototype.
(M2Options_SetIEEELongDouble): New prototype.
(M2Options_GetIEEELongDouble): New prototype.
* gm2-gcc/m2type.cc (build_m2_long_real_node): Re-implement using
results of M2Options_GetIBMLongDouble and M2Options_GetIEEELongDouble.
* gm2-lang.cc (gm2_langhook_handle_option): Add case
OPT_mabi_ibmlongdouble and call M2Options_SetIBMLongDouble.
Add case OPT_mabi_ieeelongdouble and call M2Options_SetIEEELongDouble.
* gm2config.aci.in: Regenerate.
* gm2spec.cc (lang_specific_driver): Remove block defined by
M2C_LONGREAL_PPC64LE.
Remove case OPT_mabi_ibmlongdouble.
Remove case OPT_mabi_ieeelongdouble.

libgm2/ChangeLog:

PR modula2/111956
* Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
* Makefile.in: Regenerate.
* libm2cor/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
* libm2cor/Makefile.in: Regenerate.
* libm2iso/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
* libm2iso/Makefile.in: Regenerate.
* libm2log/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
* libm2log/Makefile.in: Regenerate.
* libm2min/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
* libm2min/Makefile.in: Regenerate.
* libm2pim/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
* libm2pim/Makefile.in: Regenerate.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
25 files changed:
gcc/m2/Make-lang.in
gcc/m2/configure
gcc/m2/configure.ac
gcc/m2/gm2-compiler/M2Options.def
gcc/m2/gm2-compiler/M2Options.mod
gcc/m2/gm2-gcc/m2configure.cc
gcc/m2/gm2-gcc/m2configure.def
gcc/m2/gm2-gcc/m2configure.h
gcc/m2/gm2-gcc/m2options.h
gcc/m2/gm2-gcc/m2type.cc
gcc/m2/gm2-lang.cc
gcc/m2/gm2config.aci.in
gcc/m2/gm2spec.cc
libgm2/Makefile.am
libgm2/Makefile.in
libgm2/libm2cor/Makefile.am
libgm2/libm2cor/Makefile.in
libgm2/libm2iso/Makefile.am
libgm2/libm2iso/Makefile.in
libgm2/libm2log/Makefile.am
libgm2/libm2log/Makefile.in
libgm2/libm2min/Makefile.am
libgm2/libm2min/Makefile.in
libgm2/libm2pim/Makefile.am
libgm2/libm2pim/Makefile.in

index d7bc7362bbf6a55bf93126025f7dca1869de70f7..45bfa933dca00d1bbf6264fcdb9187da4ec86e2d 100644 (file)
@@ -98,9 +98,6 @@ GM2_PROG_DEP=gm2$(exeext) xgcc$(exeext) cc1gm2$(exeext)
 
 include m2/config-make
 
-# Determine if float128 should represent the Modula-2 type LONGREAL.
-host_mc_longreal := $(if $(strip $(filter powerpc64le%,$(host))),--longreal=__float128)
-
 LIBSTDCXX=../$(TARGET_SUBDIR)/libstdc++-v3/src/.libs/libstdc++.a
 
 PGE=m2/pge$(exeext)
@@ -474,8 +471,7 @@ MC_ARGS= --olang=c++ \
  -I$(srcdir)/m2/gm2-gcc \
  --quiet \
  $(MC_COPYRIGHT) \
- --gcc-config-system \
- $(host_mc_longreal)
+ --gcc-config-system
 
 MCDEPS=m2/boot-bin/mc$(exeext)
 
index f62f3d8729c8ed72aa05f306927ec74370945b5a..465309707852ec7c5cd5f9750da42acdab3a4593 100755 (executable)
@@ -3646,24 +3646,6 @@ $as_echo "#define HAVE_OPENDIR 1" >>confdefs.h
 fi
 
 
-case $target in #(
-  powerpc64le*) :
-
-$as_echo "#define M2C_LONGREAL_FLOAT128 1" >>confdefs.h
- ;; #(
-  *) :
-     ;;
-esac
-
-case $target in #(
-  powerpc64le*) :
-
-$as_echo "#define M2C_LONGREAL_PPC64LE 1" >>confdefs.h
- ;; #(
-  *) :
-     ;;
-esac
-
 ac_config_headers="$ac_config_headers gm2config.aci"
 
 cat >confcache <<\_ACEOF
index efcca6280682c9ef5bd6c4303afe3caf7ef7776d..15be50936f7aeb93d54799056e754c5d803219f5 100644 (file)
@@ -30,11 +30,5 @@ AC_CHECK_HEADERS(sys/types.h)
 AC_HEADER_DIRENT
 AC_CHECK_LIB([c],[opendir],[AC_DEFINE([HAVE_OPENDIR],[1],[found opendir])])
 
-AS_CASE([$target],[powerpc64le*],
-       [AC_DEFINE([M2C_LONGREAL_FLOAT128],[1],[use __float128 for LONGREAL])])
-
-AS_CASE([$target],[powerpc64le*],
-       [AC_DEFINE([M2C_LONGREAL_PPC64LE],[1],[target is ppc64le])])
-
 AC_CONFIG_HEADERS(gm2config.aci, [echo timestamp > stamp-h])
 AC_OUTPUT
index a5ecb82800de2d6d75c11fef6785e3430b5ab914..4e5f4993f82d4cef2ccc8f6f2c564452b804a034 100644 (file)
@@ -970,6 +970,38 @@ PROCEDURE SetCaseEnumChecking (value: BOOLEAN) ;
 PROCEDURE SetDebugBuiltins (value: BOOLEAN) ;
 
 
+(*
+   SetIBMLongDouble - enable/disable LONGREAL to map onto the
+                      IBM long double 128 bit data type.
+                      (Only available on the ppc).
+*)
+
+PROCEDURE SetIBMLongDouble (value: BOOLEAN) ;
+
+
+(*
+   GetIBMLongDouble - return the value of IBMLongDouble.
+*)
+
+PROCEDURE GetIBMLongDouble () : BOOLEAN ;
+
+
+(*
+   SetIEEELongDouble - enable/disable LONGREAL to map onto the
+                       IEEE long double 128 bit data type.
+                       (Only available on the ppc).
+*)
+
+PROCEDURE SetIEEELongDouble (value: BOOLEAN) ;
+
+
+(*
+   GetIEEELongDouble - return the value of IEEELongDouble.
+*)
+
+PROCEDURE GetIEEELongDouble () : BOOLEAN ;
+
+
 (*
    FinaliseOptions - once all options have been parsed we set any inferred
                      values.
index 01562a1a124d444f97840cac66038e0d62823775..ae4980860b01133c105aec5dedf7db3e91428108 100644 (file)
@@ -31,7 +31,8 @@ FROM FIO IMPORT StdErr ;
 FROM libc IMPORT exit, printf ;
 FROM Debug IMPORT Halt ;
 FROM m2linemap IMPORT location_t ;
-FROM m2configure IMPORT FullPathCPP ;
+FROM m2configure IMPORT FullPathCPP, TargetIEEEQuadDefault ;
+FROM M2Error IMPORT InternalError ;
 
 
 FROM DynamicStrings IMPORT String, Length, InitString, Mark, Slice, EqualArray,
@@ -74,6 +75,8 @@ VAR
    MPFlag,
    MDFlag,
    MMDFlag,
+   IBMLongDouble,
+   IEEELongDouble,
    UselistFlag,
    CC1Quiet,
    SeenSources          : BOOLEAN ;
@@ -1594,6 +1597,79 @@ BEGIN
 END SetDebugBuiltins ;
 
 
+(*
+   SetIBMLongDouble - enable/disable LONGREAL to map onto the
+                      IBM long double 128 bit data type.
+                      (Only available on the ppc).
+*)
+
+PROCEDURE SetIBMLongDouble (value: BOOLEAN) ;
+BEGIN
+   IBMLongDouble := value ;
+   IF value
+   THEN
+      IEEELongDouble := FALSE
+   END
+END SetIBMLongDouble ;
+
+
+(*
+   GetIBMLongDouble - return the value of IBMLongDouble.
+*)
+
+PROCEDURE GetIBMLongDouble () : BOOLEAN ;
+BEGIN
+   RETURN IBMLongDouble
+END GetIBMLongDouble ;
+
+
+(*
+   SetIEEELongDouble - enable/disable LONGREAL to map onto the
+                       IEEE long double 128 bit data type.
+                       (Only available on the ppc).
+*)
+
+PROCEDURE SetIEEELongDouble (value: BOOLEAN) ;
+BEGIN
+   IEEELongDouble := value ;
+   IF value
+   THEN
+      IBMLongDouble := FALSE
+   END
+END SetIEEELongDouble ;
+
+
+(*
+   GetIEEELongDouble - return the value of IEEELongDouble.
+*)
+
+PROCEDURE GetIEEELongDouble () : BOOLEAN ;
+BEGIN
+   RETURN IEEELongDouble
+END GetIEEELongDouble ;
+
+
+(*
+   InitializeLongDoubleFlags - initialize the long double related flags
+                               with default values given during gcc configure.
+*)
+
+PROCEDURE InitializeLongDoubleFlags ;
+BEGIN
+   IBMLongDouble := FALSE ;
+   IEEELongDouble := FALSE ;
+   CASE TargetIEEEQuadDefault () OF
+
+   -1: |
+    0: IBMLongDouble := TRUE |
+    1: IEEELongDouble := TRUE
+
+   ELSE
+      InternalError ('unexpected value returned from TargetIEEEQuadDefault ()')
+   END
+END InitializeLongDoubleFlags ;
+
+
 BEGIN
    cflag                             := FALSE ;  (* -c.  *)
    RuntimeModuleOverride             := InitString (DefaultRuntimeModuleOverride) ;
@@ -1673,6 +1749,7 @@ BEGIN
    MFarg                             := NIL ;
    MTFlag                            := NIL ;
    MQFlag                            := NIL ;
+   InitializeLongDoubleFlags ;
    M2Prefix                          := InitString ('') ;
    M2PathName                        := InitString ('')
 END M2Options.
index feb2810b3de51232bfb8173784394487c3a0a800..9e0e82f86c0178640dd1f1decdced3686dd6df99 100644 (file)
@@ -23,10 +23,6 @@ along with GNU Modula-2; see the file COPYING3.  If not see
 #include "system.h"
 #include "libiberty.h"
 
-#include "config.h"
-#include "system.h"
-#include "libiberty.h"
-
 #include "gcc-consolidation.h"
 
 #include "../gm2-lang.h"
@@ -100,50 +96,17 @@ m2configure_FullPathCPP (void)
   return NULL;
 }
 
-/* Return true if M2C_LONGREAL_FLOAT128 is defined.  */
-
-bool
-m2configure_M2CLongRealFloat128 (void)
-{
-#if defined(M2C_LONGREAL_FLOAT128)
-  return true;
-#else
-  return false;
-#endif
-}
-
-/* Return true if M2C_LONGREAL_IBM128 is defined.  */
-
-bool
-m2configure_M2CLongRealIBM128 (void)
-{
-#if defined(M2C_LONGREAL_IBM128)
-  return true;
-#else
-  return false;
-#endif
-}
-
-/* Return true if M2C_LONGREAL_LONGDOUBLE is defined.  */
-
-bool
-m2configure_M2CLongRealLongDouble (void)
-{
-#if defined(M2C_LONGREAL_LONGDOUBLE)
-  return true;
-#else
-  return false;
-#endif
-}
-
-/* Return true if the target is ppc64le.  */
+/* Return the value of TARGET_IEEEQUAD_DEFAULT.  If it is undefined
+   -1 is returned.  A value of 0 indicates the default target long
+   double uses the IBM 128 representation.  A value of 1 indicates
+   the default target long double (LONGREAL) is __float128.  */
 
-bool
-m2configure_M2CLongRealLongDoublePPC64LE (void)
+int
+m2configure_TargetIEEEQuadDefault (void)
 {
-#if defined(M2C_LONGREAL_PPC64LE)
-  return true;
+#ifdef TARGET_IEEEQUAD_DEFAULT
+  return TARGET_IEEEQUAD_DEFAULT;
 #else
-  return false;
+  return -1;
 #endif
 }
index 0c038b9dd4838a4b0712d1e4182654e1fd12b2b9..9e320490d85b5acb593952a4d6bdc53ce455f485 100644 (file)
@@ -41,38 +41,15 @@ PROCEDURE FullPathCPP () : ADDRESS ;
 
 
 (*
-   M2CLongRealFloat128 - return true if M2C_LONGREAL_FLOAT128
-                         is defined.
-                         Only one of M2CLongRealFloat128,
-                         M2CLongRealIBM128,
-                         M2CLongRealLongDouble will be set true.
+   TargetIEEEQuadDefault - return the value of TARGET_IEEEQUAD_DEFAULT.
+                           If it is undefined -1 is returned.
+                           A value of 0 indicates the default target long
+                           double uses the IBM 128 representation.
+                           A value of 1 indicates the default target long
+                           double (LONGREAL) is __float128.
 *)
 
-PROCEDURE M2CLongRealFloat128 () : BOOLEAN ;
-
-
-(*
-   M2CLongRealIBM128 - return true if M2C_LONGREAL_IBM128
-                       is defined.
-*)
-
-PROCEDURE M2CLongRealIBM128 () : BOOLEAN ;
-
-
-(*
-   M2CLongRealLongDouble - return true if M2C_LONGREAL_LONGDOUBLE
-                           is defined.  This is true if the LONGREAL
-                           maps onto the default gcc long double type.
-*)
-
-PROCEDURE M2CLongRealLongDouble () : BOOLEAN ;
-
-
-(*
-   M2CLongRealLongDoublePPC64LE - return true if the target is ppc64le.
-*)
-
-PROCEDURE M2CLongRealLongDoublePPC64LE () : BOOLEAN ;
+PROCEDURE TargetIEEEQuadDefault () : INTEGER ;
 
 
 END m2configure.
index a82560014286acf0fa1ce7f62184f246e7716b64..dc4c11670e677b405ed4595788f4d0d03cf9aca2 100644 (file)
@@ -41,17 +41,8 @@ along with GNU Modula-2; see the file COPYING3.  If not see
 EXTERN char *
 m2configure_FullPathCPP (void);
 
-EXTERN bool
-m2configure_M2CLongRealFloat128 (void);
-
-EXTERN bool
-m2configure_M2CLongRealIBM128 (void);
-
-EXTERN bool
-m2configure_M2CLongRealLongDouble (void);
-
-EXTERN bool
-m2configure_M2CLongRealLongDoublePPC64LE (void);
+EXTERN int
+m2configure_TargetIEEEQuadDefault (void);
 
 #undef EXTERN
 #endif /* m2configure_h.  */
index 3d46dc8deed1c37d9dcb9e48c8d48d92c2a16d16..01256a9fc80dd76048b0f1291aa9fcf601518da6 100644 (file)
@@ -148,6 +148,10 @@ EXTERN char *M2Options_GetM2PathName (void);
 EXTERN int M2Options_SetUninitVariableChecking (bool value, const char *arg);
 EXTERN void M2Options_SetCaseEnumChecking (bool value);
 EXTERN void M2Options_SetDebugBuiltins (bool value);
+EXTERN void M2Options_SetIBMLongDouble (bool value);
+EXTERN bool M2Options_GetIBMLongDouble (void);
+EXTERN void M2Options_SetIEEELongDouble (bool value);
+EXTERN bool M2Options_GetIEEELongDouble (void);
 
 #undef EXTERN
 #endif /* m2options_h.  */
index e00987a1c3bedf3f4684eba45065515f7151d76b..571923c08ef6b1fe8766e16149a0aaf4c3de057c 100644 (file)
@@ -1441,22 +1441,20 @@ build_m2_real_node (void)
 static tree
 build_m2_long_real_node (void)
 {
-  tree c;
+  tree longreal;
 
   /* Define `LONGREAL'.  */
-
-  if (m2configure_M2CLongRealFloat128 ())
-    c = float128_type_node;
-  else if (m2configure_M2CLongRealIBM128 ())
+  if (M2Options_GetIBMLongDouble ())
     {
-      c = make_node (REAL_TYPE);
-      TYPE_PRECISION (c) = LONG_DOUBLE_TYPE_SIZE;
+      longreal = make_node (REAL_TYPE);
+      TYPE_PRECISION (longreal) = LONG_DOUBLE_TYPE_SIZE;
     }
+  else if (M2Options_GetIEEELongDouble ())
+    longreal = float128_type_node;
   else
-    c = long_double_type_node;
-
-  layout_type (c);
-  return c;
+    longreal = long_double_type_node;
+  layout_type (longreal);
+  return longreal;
 }
 
 static tree
index cfebfc6ca53e3dd9d8cccc602b72911676c1cfd7..86124df603a4111ab8884fb533e026d86d5c6337 100644 (file)
@@ -639,6 +639,16 @@ gm2_langhook_handle_option (
     case OPT_fm2_whole_program:
       M2Options_SetWholeProgram (value);
       return 1;
+#ifdef OPT_mabi_ibmlongdouble
+    case OPT_mabi_ibmlongdouble:
+      M2Options_SetIBMLongDouble (value);
+      return 1;
+#endif
+#ifdef OPT_mabi_ieeelongdouble
+    case OPT_mabi_ieeelongdouble:
+      M2Options_SetIEEELongDouble (value);
+      return 1;
+#endif
     case OPT_flocation_:
       if (strcmp (arg, "builtins") == 0)
         {
index 5228ef09a7dd747871b41306c6f3f9f22a1348a9..cb9f5054f44d59802cc9ac148ac9bbba8819178f 100644 (file)
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* use __float128 for LONGREAL */
-#undef M2C_LONGREAL_FLOAT128
-
-/* target is ppc64le */
-#undef M2C_LONGREAL_PPC64LE
-
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
index 6769ecc194a4624a88867384fe542fa7b1557a61..a4faf88027a25c4b7e344219b7cb811acf3ce941 100644 (file)
@@ -475,15 +475,6 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
   /* True if we should set up include paths and library paths.  */
   bool allow_libraries = true;
 
-#ifdef M2C_LONGREAL_PPC64LE
-  /* Should we add -mabi=ieeelongdouble by default?  */
-#ifdef M2C_LONGREAL_FLOAT128
-  bool need_default_mabi = true;
-#else
-  bool need_default_mabi = false;
-#endif
-#endif
-
 #if defined(DEBUG_ARG)
   printf ("argc = %d\n", argc);
   fprintf (stderr, "Incoming:");
@@ -589,16 +580,6 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
          args[i] |= SKIPOPT; /* We will add the option if it is needed.  */
          push_back_Ipath (decoded_options[i].arg);
          break;
-#if defined(OPT_mabi_ibmlongdouble)
-       case OPT_mabi_ibmlongdouble:
-         need_default_mabi = false;  /* User has specified a -mabi.  */
-         break;
-#endif
-#if defined(OPT_mabi_ieeelongdouble)
-       case OPT_mabi_ieeelongdouble:
-         need_default_mabi = true;  /* User has specified a -mabi.  */
-         break;
-#endif
        case OPT_nostdlib:
        case OPT_nostdlib__:
        case OPT_nodefaultlibs:
@@ -868,11 +849,6 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
   if (need_plugin)
     append_option (OPT_fplugin_, "m2rte", 1);
 
-#ifdef M2C_LONGREAL_PPC64LE
-  if (need_default_mabi)
-    append_option (OPT_mabi_ieeelongdouble, NULL, 1);
-#endif
-
   if (linking)
     {
       if (allow_libraries)
index 72391d01291790a4fa893e41039861e58dc04186..ef29732dbed121ee3fc1e8240ffb25d28bb76652 100644 (file)
@@ -35,8 +35,6 @@ AM_CFLAGS = -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
 TOP_GCCDIR := $(shell cd $(top_srcdir) && cd .. && pwd)
 
-TARGET_LONGDOUBLE_ABI := $(if $(strip $(filter powerpc64le%,$(target))),-mabi=ieeelongdouble)
-
 GCC_DIR = $(TOP_GCCDIR)/gcc
 GM2_SRC = $(GCC_DIR)/m2
 
@@ -101,7 +99,6 @@ AM_MAKEFLAGS = \
        "WERROR=$(WERROR)" \
         "TARGET_LIB_PATH=$(TARGET_LIB_PATH)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
        "LIBTOOL=$(GM2_BUILDDIR)/libtool" \
        "DARWIN_AT_RPATH=$(DARWIN_AT_RPATH)"
 
index 4c30d2b034f46cc0b51a98a24a6c7f68773f43a4..f259df7842cf3872dab0f00f8fd2d9ba1401bb10 100644 (file)
@@ -347,7 +347,6 @@ MAKEOVERRIDES =
 AM_CFLAGS = -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
 TOP_GCCDIR := $(shell cd $(top_srcdir) && cd .. && pwd)
-TARGET_LONGDOUBLE_ABI := $(if $(strip $(filter powerpc64le%,$(target))),-mabi=ieeelongdouble)
 GCC_DIR = $(TOP_GCCDIR)/gcc
 GM2_SRC = $(GCC_DIR)/m2
 SUBDIRS = libm2min libm2log libm2cor libm2iso libm2pim
@@ -403,7 +402,6 @@ AM_MAKEFLAGS = \
        "WERROR=$(WERROR)" \
         "TARGET_LIB_PATH=$(TARGET_LIB_PATH)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
        "LIBTOOL=$(GM2_BUILDDIR)/libtool" \
        "DARWIN_AT_RPATH=$(DARWIN_AT_RPATH)"
 
index a515bd2c88642129c0dd669e42132cee1afdedff..edf9243a5b831babd2872ee9150435f03d707050 100644 (file)
@@ -91,7 +91,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 # Subdir rules rely on $(FLAGS_TO_PASS)
@@ -116,14 +115,14 @@ libm2cordir = libm2cor
 libm2cor_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2cor_la_SOURCES)))
 libm2cor_la_CFLAGS = \
     -I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso \
-    -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso \
-    $(TARGET_LONGDOUBLE_ABI)
+    -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso
+
 libm2cor_la_M2FLAGS = \
     -fm2-pathname=m2cor -I. -I$(GM2_SRC)/gm2-libs-coroutines \
     -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
     -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
-    -fm2-g -g -Wcase-enum -Wreturn-type -fcase -fm2-prefix=m2cor \
-    $(TARGET_LONGDOUBLE_ABI)
+    -fm2-g -g -Wcase-enum -Wreturn-type -fcase -fm2-prefix=m2cor
+
 if TARGET_DARWIN
 libm2cor_la_link_flags = -Wl,-undefined,dynamic_lookup
 else
index faf2433249fb8f5c73639b245f368cb947a448ed..63299388dd8f1f58b4ccf70a0f4c5fd74ca74a84 100644 (file)
@@ -455,7 +455,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 
@@ -475,15 +474,13 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
 @BUILD_CORLIB_TRUE@libm2cor_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2cor_la_SOURCES)))
 @BUILD_CORLIB_TRUE@libm2cor_la_CFLAGS = \
 @BUILD_CORLIB_TRUE@    -I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso \
-@BUILD_CORLIB_TRUE@    -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso \
-@BUILD_CORLIB_TRUE@    $(TARGET_LONGDOUBLE_ABI)
+@BUILD_CORLIB_TRUE@    -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso
 
 @BUILD_CORLIB_TRUE@libm2cor_la_M2FLAGS = \
 @BUILD_CORLIB_TRUE@    -fm2-pathname=m2cor -I. -I$(GM2_SRC)/gm2-libs-coroutines \
 @BUILD_CORLIB_TRUE@    -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
 @BUILD_CORLIB_TRUE@    -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
-@BUILD_CORLIB_TRUE@    -fm2-g -g -Wcase-enum -Wreturn-type -fcase -fm2-prefix=m2cor \
-@BUILD_CORLIB_TRUE@    $(TARGET_LONGDOUBLE_ABI)
+@BUILD_CORLIB_TRUE@    -fm2-g -g -Wcase-enum -Wreturn-type -fcase -fm2-prefix=m2cor
 
 @BUILD_CORLIB_TRUE@@TARGET_DARWIN_FALSE@libm2cor_la_link_flags =  \
 @BUILD_CORLIB_TRUE@@TARGET_DARWIN_FALSE@       $(am__append_1)
index 01b5dc7001a3abd7ece09c4fc73cba73b81f6a83..ee9afde851686b3fa784335d6327857c845e06e4 100644 (file)
@@ -90,7 +90,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 # Subdir rules rely on $(FLAGS_TO_PASS)
@@ -199,14 +198,14 @@ libm2iso_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2iso_la_
 libm2iso_la_CFLAGS = \
    $(C_INCLUDES) -I. -I.. -I$(GM2_SRC)/gm2-libs-iso -I$(GM2_SRC)/gm2-libs \
    -DBUILD_GM2_LIBS -I@srcdir@/../ -I../../../gcc -I$(GCC_DIR) -I$(GCC_DIR)/../include \
-   -I../../libgcc -I$(GCC_DIR)/../libgcc -I$(MULTIBUILDTOP)../../gcc/include \
-   $(TARGET_LONGDOUBLE_ABI)
+   -I../../libgcc -I$(GCC_DIR)/../libgcc -I$(MULTIBUILDTOP)../../gcc/include
+
 libm2iso_la_M2FLAGS = \
   -fm2-pathname=m2iso -I. -Ilibm2iso -I$(GM2_SRC)/gm2-libs-iso \
   -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
   -fiso -fextended-opaque -fm2-g -g -Wcase-enum \
-  -Wreturn-type -fcase -fm2-prefix=m2iso \
-   $(TARGET_LONGDOUBLE_ABI)
+  -Wreturn-type -fcase -fm2-prefix=m2iso
+
 if TARGET_DARWIN
 libm2iso_la_link_flags = -Wl,-undefined,dynamic_lookup
 else
index 1d04835fbf09a1524472112fd6160a0e9cfd7a93..964c6da85270e5fe8143aff3b35974e06c6450df 100644 (file)
@@ -480,7 +480,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 
@@ -586,15 +585,13 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
 @BUILD_ISOLIB_TRUE@libm2iso_la_CFLAGS = \
 @BUILD_ISOLIB_TRUE@   $(C_INCLUDES) -I. -I.. -I$(GM2_SRC)/gm2-libs-iso -I$(GM2_SRC)/gm2-libs \
 @BUILD_ISOLIB_TRUE@   -DBUILD_GM2_LIBS -I@srcdir@/../ -I../../../gcc -I$(GCC_DIR) -I$(GCC_DIR)/../include \
-@BUILD_ISOLIB_TRUE@   -I../../libgcc -I$(GCC_DIR)/../libgcc -I$(MULTIBUILDTOP)../../gcc/include \
-@BUILD_ISOLIB_TRUE@   $(TARGET_LONGDOUBLE_ABI)
+@BUILD_ISOLIB_TRUE@   -I../../libgcc -I$(GCC_DIR)/../libgcc -I$(MULTIBUILDTOP)../../gcc/include
 
 @BUILD_ISOLIB_TRUE@libm2iso_la_M2FLAGS = \
 @BUILD_ISOLIB_TRUE@  -fm2-pathname=m2iso -I. -Ilibm2iso -I$(GM2_SRC)/gm2-libs-iso \
 @BUILD_ISOLIB_TRUE@  -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
 @BUILD_ISOLIB_TRUE@  -fiso -fextended-opaque -fm2-g -g -Wcase-enum \
-@BUILD_ISOLIB_TRUE@  -Wreturn-type -fcase -fm2-prefix=m2iso \
-@BUILD_ISOLIB_TRUE@   $(TARGET_LONGDOUBLE_ABI)
+@BUILD_ISOLIB_TRUE@  -Wreturn-type -fcase -fm2-prefix=m2iso
 
 @BUILD_ISOLIB_TRUE@@TARGET_DARWIN_FALSE@libm2iso_la_link_flags =  \
 @BUILD_ISOLIB_TRUE@@TARGET_DARWIN_FALSE@       $(am__append_1)
index 8dadaae95388932e5374cccca2ff599c9f73604f..ac690c89d2e0b42a1251771b960c7544e5b93b81 100644 (file)
@@ -90,7 +90,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 # Subdir rules rely on $(FLAGS_TO_PASS)
@@ -138,8 +137,8 @@ libm2log_la_M2FLAGS = \
  -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
  -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
  -Wcase-enum -Wreturn-type \
- -fcase -fm2-prefix=m2log \
- $(TARGET_LONGDOUBLE_ABI)
+ -fcase -fm2-prefix=m2log
+
 if TARGET_DARWIN
 libm2log_la_link_flags = -Wl,-undefined,dynamic_lookup
 else
index 4c371350ce2fb78702ec8f08b55dc9eb5482c5bb..bd0f834bdf0b18426d3ac913b6b7cae0ea190841 100644 (file)
@@ -443,7 +443,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 
@@ -487,8 +486,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
 @BUILD_LOGLIB_TRUE@ -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs \
 @BUILD_LOGLIB_TRUE@ -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
 @BUILD_LOGLIB_TRUE@ -Wcase-enum -Wreturn-type \
-@BUILD_LOGLIB_TRUE@ -fcase -fm2-prefix=m2log \
-@BUILD_LOGLIB_TRUE@ $(TARGET_LONGDOUBLE_ABI)
+@BUILD_LOGLIB_TRUE@ -fcase -fm2-prefix=m2log
 
 @BUILD_LOGLIB_TRUE@@TARGET_DARWIN_FALSE@libm2log_la_link_flags =  \
 @BUILD_LOGLIB_TRUE@@TARGET_DARWIN_FALSE@       $(am__append_1)
index ab627e88222da2eaec57979f0b444fd95cdf2fad..b95b5dd3ea5817c54c74a5762b1f1ec35ae22ebb 100644 (file)
@@ -89,7 +89,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 # Subdir rules rely on $(FLAGS_TO_PASS)
@@ -104,12 +103,12 @@ libm2mindir = libm2min
 toolexeclib_LTLIBRARIES = libm2min.la
 libm2min_la_SOURCES = $(M2MODS) libc.c
 libm2min_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2min_la_SOURCES)))
-libm2min_la_CFLAGS = -I. -I$(GM2_SRC)/gm2-libs-min -I$(GM2_SRC)/gm2-libs $(TARGET_LONGDOUBLE_ABI)
+libm2min_la_CFLAGS = -I. -I$(GM2_SRC)/gm2-libs-min -I$(GM2_SRC)/gm2-libs
 libm2min_la_M2FLAGS = \
    -fm2-pathname=m2min -I. -I$(GM2_SRC)/gm2-libs-min \
    -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs -fno-exceptions \
-   -fno-m2-plugin -fno-scaffold-dynamic -fno-scaffold-main -fm2-prefix=m2min \
-   $(TARGET_LONGDOUBLE_ABI)
+   -fno-m2-plugin -fno-scaffold-dynamic -fno-scaffold-main -fm2-prefix=m2min
+
 if TARGET_DARWIN
 libm2min_la_link_flags = -Wl,-undefined,dynamic_lookup
 else
index 1d723e4d7214ba83207f6521ab1211a8a95f5c01..453a3acf46837d79e96fa3481082a9c10e2a179b 100644 (file)
@@ -432,7 +432,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 
@@ -446,12 +445,11 @@ libm2mindir = libm2min
 toolexeclib_LTLIBRARIES = libm2min.la
 libm2min_la_SOURCES = $(M2MODS) libc.c
 libm2min_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2min_la_SOURCES)))
-libm2min_la_CFLAGS = -I. -I$(GM2_SRC)/gm2-libs-min -I$(GM2_SRC)/gm2-libs $(TARGET_LONGDOUBLE_ABI)
+libm2min_la_CFLAGS = -I. -I$(GM2_SRC)/gm2-libs-min -I$(GM2_SRC)/gm2-libs
 libm2min_la_M2FLAGS = \
    -fm2-pathname=m2min -I. -I$(GM2_SRC)/gm2-libs-min \
    -fm2-pathname=m2pim -I$(GM2_SRC)/gm2-libs -fno-exceptions \
-   -fno-m2-plugin -fno-scaffold-dynamic -fno-scaffold-main -fm2-prefix=m2min \
-   $(TARGET_LONGDOUBLE_ABI)
+   -fno-m2-plugin -fno-scaffold-dynamic -fno-scaffold-main -fm2-prefix=m2min
 
 @TARGET_DARWIN_FALSE@libm2min_la_link_flags = $(am__append_1)
 @TARGET_DARWIN_TRUE@libm2min_la_link_flags =  \
index 4c5e046a1c98141d264b6f0721b0ba5e6eb62c2c..b575cabe2db46d479c11d70cddfad3eb34d0bae0 100644 (file)
@@ -88,7 +88,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 # Subdir rules rely on $(FLAGS_TO_PASS)
@@ -168,14 +167,14 @@ libm2pimdir = libm2pim
 libm2pim_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2pim_la_SOURCES)))
 libm2pim_la_CFLAGS = \
   -I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso \
-  -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso \
-  $(TARGET_LONGDOUBLE_ABI)
+  -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso
+
 libm2pim_la_M2FLAGS = \
   -fm2-pathname=m2pim -I. -I$(GM2_SRC)/gm2-libs \
   -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
   -fm2-g -g -Wcase-enum -Wreturn-type \
-  -fcase -fm2-prefix=m2pim \
-  $(TARGET_LONGDOUBLE_ABI)
+  -fcase -fm2-prefix=m2pim
+
 if TARGET_DARWIN
 libm2pim_la_link_flags = -Wl,-undefined,dynamic_lookup
 else
index eca7e8501adb466a6ef3e59d37dbe731cec96f58..85623d0f82f1c3e399649f2df9086bb6ab35785f 100644 (file)
@@ -467,7 +467,6 @@ AM_MAKEFLAGS = \
        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
-        "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
         "TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
 
 
@@ -545,15 +544,13 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
 @BUILD_PIMLIB_TRUE@libm2pim_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2pim_la_SOURCES)))
 @BUILD_PIMLIB_TRUE@libm2pim_la_CFLAGS = \
 @BUILD_PIMLIB_TRUE@  -I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso \
-@BUILD_PIMLIB_TRUE@  -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso \
-@BUILD_PIMLIB_TRUE@  $(TARGET_LONGDOUBLE_ABI)
+@BUILD_PIMLIB_TRUE@  -DBUILD_GM2_LIBS -I@srcdir@/../  -I@srcdir@/../libm2iso
 
 @BUILD_PIMLIB_TRUE@libm2pim_la_M2FLAGS = \
 @BUILD_PIMLIB_TRUE@  -fm2-pathname=m2pim -I. -I$(GM2_SRC)/gm2-libs \
 @BUILD_PIMLIB_TRUE@  -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
 @BUILD_PIMLIB_TRUE@  -fm2-g -g -Wcase-enum -Wreturn-type \
-@BUILD_PIMLIB_TRUE@  -fcase -fm2-prefix=m2pim \
-@BUILD_PIMLIB_TRUE@  $(TARGET_LONGDOUBLE_ABI)
+@BUILD_PIMLIB_TRUE@  -fcase -fm2-prefix=m2pim
 
 @BUILD_PIMLIB_TRUE@@TARGET_DARWIN_FALSE@libm2pim_la_link_flags =  \
 @BUILD_PIMLIB_TRUE@@TARGET_DARWIN_FALSE@       $(am__append_1)