OSDN Git Service

hppa: Install __sync libfuncs for linux.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Nov 2011 15:39:44 +0000 (15:39 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Nov 2011 15:39:44 +0000 (15:39 +0000)
        * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
        * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
        * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181320 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa-linux.h
gcc/config/pa/pa.c
gcc/config/pa/pa.h

index d2cdaa9..592ea0a 100644 (file)
@@ -1,3 +1,9 @@
+2011-11-12  Richard Henderson  <rth@redhat.com>
+
+       * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
+       * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
+       * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.
+
 2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
 
        PR target/45233
index 6c6cf21..addc0e1 100644 (file)
@@ -136,3 +136,6 @@ along with GCC; see the file COPYING3.  If not see
 /* Linux always uses gas.  */
 #undef TARGET_GAS
 #define TARGET_GAS 1
+
+#undef TARGET_SYNC_LIBCALL
+#define TARGET_SYNC_LIBCALL 1
index 66574ba..134f1f8 100644 (file)
@@ -5587,6 +5587,9 @@ pa_init_libfuncs (void)
       set_conv_libfunc (ufloat_optab, TFmode, DImode,
                        "_U_Qfcnvxf_udbl_to_quad");
     }
+
+  if (TARGET_SYNC_LIBCALL)
+    init_sync_libfuncs (UNITS_PER_WORD);
 }
 
 /* HP's millicode routines mean something special to the assembler.
index 2f1295b..c52e3d5 100644 (file)
@@ -74,6 +74,11 @@ extern unsigned long total_code_bytes;
 #define HPUX_LONG_DOUBLE_LIBRARY 0
 #endif
 
+/* Linux kernel atomic operation support.  */
+#ifndef TARGET_SYNC_LIBCALL
+#define TARGET_SYNC_LIBCALL 0
+#endif
+
 /* The following three defines are potential target switches.  The current
    defines are optimal given the current capabilities of GAS and GNU ld.  */