Message ID | 20201215162850.78638-2-mjeanson@efficios.com |
---|---|
State | New |
Headers | show |
Series | [urcu,1/4] Cleanup: Move ARM specific code to urcu/arch/arm.h | expand |
Merged in liburcu master, thanks! Mathieu ----- On Dec 15, 2020, at 11:28 AM, Michael Jeanson mjeanson at efficios.com wrote: > GCC added __sync_synchronize() in 4.4.0 but it was broken on ARM until > 4.4.3, see the GCC bug report for more details : > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 > > Signed-off-by: Michael Jeanson <mjeanson at efficios.com> > Change-Id: I629e3c8b4baaccb34b2311e220f30d0ad8b69a19 > --- > include/urcu/arch/arm.h | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/include/urcu/arch/arm.h b/include/urcu/arch/arm.h > index 5d1c608..e904b06 100644 > --- a/include/urcu/arch/arm.h > +++ b/include/urcu/arch/arm.h > @@ -70,6 +70,15 @@ extern "C" { > # endif > #endif > > +/* > + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 > + */ > +#ifdef URCU_GCC_VERSION > +# if URCU_GCC_VERSION >= 40400 && URCU_GCC_VERSION <= 40402 > +# error Your gcc version has a non-functional __sync_synchronize() > +# endif > +#endif > + > #ifdef __cplusplus > } > #endif > -- > 2.29.2
diff --git a/include/urcu/arch/arm.h b/include/urcu/arch/arm.h index 5d1c608..e904b06 100644 --- a/include/urcu/arch/arm.h +++ b/include/urcu/arch/arm.h @@ -70,6 +70,15 @@ extern "C" { # endif #endif +/* + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 + */ +#ifdef URCU_GCC_VERSION +# if URCU_GCC_VERSION >= 40400 && URCU_GCC_VERSION <= 40402 +# error Your gcc version has a non-functional __sync_synchronize() +# endif +#endif + #ifdef __cplusplus } #endif
GCC added __sync_synchronize() in 4.4.0 but it was broken on ARM until 4.4.3, see the GCC bug report for more details : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 Signed-off-by: Michael Jeanson <mjeanson at efficios.com> Change-Id: I629e3c8b4baaccb34b2311e220f30d0ad8b69a19 --- include/urcu/arch/arm.h | 9 +++++++++ 1 file changed, 9 insertions(+)