From: Richard Henderson Date: Sat, 12 Nov 2011 17:17:45 +0000 (-0800) Subject: sh-linux: Install __sync libfuncs. X-Git-Tag: releases/gcc-4.7.0~2221 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dab37c689ea85e9beb7d60fe4898deab048d00d2;p=thirdparty%2Fgcc.git sh-linux: Install __sync libfuncs. * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New. * config/sh/sh.c (sh_init_sync_libfuncs): New. From-SVN: r181322 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 592ea0ad4c39..4a9a5d346d2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2011-11-12 Richard Henderson + * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New. + * config/sh/sh.c (sh_init_sync_libfuncs): New. + * 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. diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h index edfd99be652e..7a75341cbd55 100644 --- a/gcc/config/sh/linux.h +++ b/gcc/config/sh/linux.h @@ -131,3 +131,7 @@ along with GCC; see the file COPYING3. If not see #define SH_DIV_STRATEGY_DEFAULT SH_DIV_CALL2 #undef SH_DIV_STR_FOR_SIZE #define SH_DIV_STR_FOR_SIZE "call2" + +/* Install the __sync libcalls. */ +#undef TARGET_INIT_LIBFUNCS +#define TARGET_INIT_LIBFUNCS sh_init_sync_libfuncs diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 03c3c48c0e4a..2545a63e7244 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -302,6 +302,8 @@ static void sh_trampoline_init (rtx, tree, rtx); static rtx sh_trampoline_adjust_address (rtx); static void sh_conditional_register_usage (void); static bool sh_legitimate_constant_p (enum machine_mode, rtx); + +static void sh_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; static const struct attribute_spec sh_attribute_table[] = { @@ -12499,4 +12501,10 @@ sh_legitimate_constant_p (enum machine_mode mode, rtx x) enum sh_divide_strategy_e sh_div_strategy = SH_DIV_STRATEGY_DEFAULT; +static void +sh_init_sync_libfuncs (void) +{ + init_sync_libfuncs (UNITS_PER_WORD); +} + #include "gt-sh.h"