From: rth Date: Sun, 27 Nov 2011 00:20:48 +0000 (+0000) Subject: arm: Install __sync libfuncs for Linux. X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=177aa7301ae3fc0a7e45c4928c3ada5182d1da1e arm: Install __sync libfuncs for Linux. * config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs for Linux. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181755 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c16f1d8db58..5a6b5d33733 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-11-26 Richard Henderson + * config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs + for Linux. + +2011-11-26 Richard Henderson + * optabs.c (expand_atomic_fetch_op): Always return result. * optabs.c (init_sync_libfuncs_1): Include max in iteration. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index e3b0b883ec8..ee26c51b0a0 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -1096,6 +1096,10 @@ arm_set_fixed_conv_libfunc (convert_optab optable, enum machine_mode to, static void arm_init_libfuncs (void) { + /* For Linux, we have access to kernel support for atomic operations. */ + if (arm_abi == ARM_ABI_AAPCS_LINUX) + init_sync_libfuncs (2 * UNITS_PER_WORD); + /* There are no special library functions unless we are using the ARM BPABI. */ if (!TARGET_BPABI)