hppa: Install __sync libfuncs for linux.

* 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
This commit is contained in:
Richard Henderson 2011-11-12 07:39:44 -08:00 committed by Richard Henderson
parent 5f41422fc7
commit 33a55f2919
4 changed files with 17 additions and 0 deletions

View 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

View 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

View 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.

View 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. */