]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sparc.h (FLOATDITF2_LIBCALL, [...]): Define.
authorJakub Jelinek <jakub@redhat.com>
Thu, 29 Apr 2004 04:42:52 +0000 (06:42 +0200)
committerMatthias Klose <doko@gcc.gnu.org>
Thu, 29 Apr 2004 04:42:52 +0000 (04:42 +0000)
2004-04-29  Jakub Jelinek  <jakub@redhat.com>

        * config/sparc/sparc.h (FLOATDITF2_LIBCALL, FIX_TRUNCTFDI2_LIBCALL,
        FIXUNS_TRUNCTFDI2_LIBCALL): Define.
        (INIT_TARGET_OPTABS): If DITF_CONVERSION_LIBFUNCS, initialize
        DI <-> TF libfuncs for TARGET_ARCH32.
        (DITF_CONVERSION_LIBFUNCS): Define to 0.
        * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
        * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
        * config.gcc (sparc-*-linux*): Revert 2004-03-25 change.
        * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
        * config/sparc/t-linux: Removed.

From-SVN: r81273

gcc/ChangeLog
gcc/config.gcc
gcc/config/sparc/linux.h
gcc/config/sparc/linux64.h
gcc/config/sparc/sparc.h
gcc/config/sparc/t-linux
gcc/config/sparc/t-linux64

index d0d9931992d3eab96b09d2579711ceb6ed1a4c5c..fec6686fab6e118e909f8e460cd81eee12afe524 100644 (file)
@@ -1,3 +1,16 @@
+2004-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (FLOATDITF2_LIBCALL, FIX_TRUNCTFDI2_LIBCALL,
+       FIXUNS_TRUNCTFDI2_LIBCALL): Define.
+       (INIT_TARGET_OPTABS): If DITF_CONVERSION_LIBFUNCS, initialize
+       DI <-> TF libfuncs for TARGET_ARCH32.
+       (DITF_CONVERSION_LIBFUNCS): Define to 0.
+       * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
+       * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
+       * config.gcc (sparc-*-linux*): Revert 2004-03-25 change.
+       * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
+       * config/sparc/t-linux: Removed.
+
 2004-04-28  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/15084
index 544daa469d64ee4e191cf2f2d3474661cbfbd3c9..7b242e9e759decf3e8efe8bc9cd119f9e64b9f04 100644 (file)
@@ -2439,7 +2439,7 @@ sparc-*-linux*libc1*)     # SPARC's running GNU/Linux, libc5
        ;;
 sparc-*-linux*)                # SPARC's running GNU/Linux, libc6
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
-       tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux sparc/t-crtfm"
+       tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
        ;;
 sparc-*-lynxos*)
        if test x$gas = xyes
index d9d5a8f8ba6605242a0175cccf751242588c2f3e..78ab2a9975cb7724a1af8771480871681b61651f 100644 (file)
@@ -245,6 +245,9 @@ do {                                                                        \
 #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
 #endif
 
+#undef DITF_CONVERSION_LIBFUNCS
+#define DITF_CONVERSION_LIBFUNCS       1
+
 #if !defined(USE_GNULIBC_1) && defined(HAVE_LD_EH_FRAME_HDR)
 #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
 #endif
index 9a32292650328505cb90e74333d67a7402e32d4e..a3fee41bccf48a5ff33f361bb9bbb39a381a856a 100644 (file)
@@ -308,6 +308,9 @@ do {                                                                        \
 
 /* #define DWARF_OFFSET_SIZE PTR_SIZE */
 
+#undef DITF_CONVERSION_LIBFUNCS
+#define DITF_CONVERSION_LIBFUNCS       1
+
 #if defined(HAVE_LD_EH_FRAME_HDR)
 #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
 #endif
index 5706349cbeea4fb1cce024a8200b4312f2a6adbe..30a7181b4e1570d69d086b6fec46126081240af7 100644 (file)
@@ -2586,10 +2586,18 @@ do {                                                                    \
 #define LTTF2_LIBCALL "_Q_flt"
 #define LETF2_LIBCALL "_Q_fle"
 
+/* These functions were added in SCD 2.3, so not necessarily all targets
+   support them.  */
+#define FLOATDITF2_LIBCALL "_Q_lltoq"
+#define FIX_TRUNCTFDI2_LIBCALL "_Q_qtoll"
+#define FIXUNS_TRUNCTFDI2_LIBCALL "_Q_qtoull"
+
+#define DITF_CONVERSION_LIBFUNCS       0
+
 /* Assume by default that the _Qp_* 64-bit libcalls are implemented such
    that the inputs are fully consumed before the output memory is clobbered.  */
 
-#define TARGET_BUGGY_QP_LIB    0
+#define TARGET_BUGGY_QP_LIB            0
 
 /* We can define the TFmode sqrt optab only if TARGET_FPU.  This is because
    with soft-float, the SFmode and DFmode sqrt instructions will be absent,
@@ -2623,6 +2631,13 @@ do {                                                                    \
        fixtfsi_libfunc = init_one_libfunc (FIX_TRUNCTFSI2_LIBCALL);    \
        fixunstfsi_libfunc                                              \
          = init_one_libfunc (FIXUNS_TRUNCTFSI2_LIBCALL);               \
+       if (DITF_CONVERSION_LIBFUNCS)                                   \
+         {                                                             \
+           floatditf_libfunc = init_one_libfunc (FLOATDITF2_LIBCALL);  \
+           fixtfdi_libfunc = init_one_libfunc (FIX_TRUNCTFDI2_LIBCALL);\
+           fixunstfdi_libfunc                                          \
+             = init_one_libfunc (FIXUNS_TRUNCTFDI2_LIBCALL);           \
+         }                                                             \
        if (TARGET_FPU)                                                 \
          sqrt_optab->handlers[(int) TFmode].libfunc                    \
            = init_one_libfunc ("_Q_sqrt");                             \
index 30a3ccaf83a52371963ddfa54f7d4a03668d6967..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,2 +0,0 @@
-# Compile libgcc2.a with pic and IEEE quad long double.
-TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128
index d21e149e428676f9c2529768e64b3b7fd9dc15f3..3e3fa4cae7e694b0c33bdfb3b33ea0cd0b96c894 100644 (file)
@@ -17,7 +17,3 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
 CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \
                                 -print-multi-os-directory) \
                        = x../lib64; then echo -mcmodel=medany; fi`
-
-# Compile libgcc2.a with pic and for -m32 also IEEE quad long double.
-# -m64 implies -mlong-double-128, so this is no change for 64-bit.
-TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128