hppa: Install __sync libfuncs for linux.
authorRichard Henderson <rth@redhat.com>
Sat, 12 Nov 2011 15:39:44 +0000 (07:39 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 12 Nov 2011 15:39:44 +0000 (07:39 -0800)
        * 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.

From-SVN: r181320

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

index d2cdaa9b64ad4403b25af868a153d5ceae486920..592ea0ad4c39ed1f810fb6b06db072436a2e7287 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 6c6cf210aa4dd719388b44668c44ce184bf1040f..addc0e18c8bbb08d7cffcd830d989be70316dbc7 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 66574bad2fa11296552ce8200235665ff9f30d03..134f1f88be866c9b269b65897e00bdf411f0c1ec 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 2f1295b0fbf2430cc792cc0fadd67e974dcdb6b1..c52e3d50877a156e31611a0b6a0ee1e2d8bcf8d1 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.  */