diff options
author | Richard Henderson <rth@redhat.com> | 2011-11-12 07:39:44 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-11-12 07:39:44 -0800 |
commit | 33a55f2919b6667660c3d1f87ac0969fb76f26fe (patch) | |
tree | 4034c1df3a62329780ea83855d5b039cc2c0034f | |
parent | 5f41422fc7be19182f2df199f84ff20c96636526 (diff) | |
download | gcc-33a55f2919b6667660c3d1f87ac0969fb76f26fe.zip gcc-33a55f2919b6667660c3d1f87ac0969fb76f26fe.tar.gz gcc-33a55f2919b6667660c3d1f87ac0969fb76f26fe.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa-linux.h | 3 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 3 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 5 |
4 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d2cdaa9b..592ea0a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index 6c6cf21..addc0e1 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -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 diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 66574ba..134f1f8 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -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. diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 2f1295b..c52e3d5 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -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. */ |