diff options
Diffstat (limited to 'main/mariadb/ppc-remove-glibc-dep.patch')
-rw-r--r-- | main/mariadb/ppc-remove-glibc-dep.patch | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/main/mariadb/ppc-remove-glibc-dep.patch b/main/mariadb/ppc-remove-glibc-dep.patch index 57f5008b860..8d5123498c0 100644 --- a/main/mariadb/ppc-remove-glibc-dep.patch +++ b/main/mariadb/ppc-remove-glibc-dep.patch @@ -26,24 +26,11 @@ index f2e26fca..94599b74 100644 #define HMT_high() asm volatile("or 3,3,3") #else @@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void) - */ - YieldProcessor(); + __asm__ __volatile__ ("pause"); + #endif #elif defined(_ARCH_PWR8) - __ppc_get_timebase(); + __builtin_ppc_get_timebase(); - #else - int32 var, oldval = 0; - my_atomic_cas32_strong_explicit(&var, &oldval, 1, MY_MEMORY_ORDER_RELAXED, -diff --git a/storage/tokudb/PerconaFT/portability/toku_time.h b/storage/tokudb/PerconaFT/portability/toku_time.h -index c4c45b8e..2f7a07f5 100644 ---- a/storage/tokudb/PerconaFT/portability/toku_time.h -+++ b/storage/tokudb/PerconaFT/portability/toku_time.h -@@ -110,7 +110,7 @@ static inline tokutime_t toku_time_now(void) { - __asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result)); - return result; - #elif defined(__powerpc__) -- return __ppc_get_timebase(); -+ return __builtin_ppc_get_timebase(); - #else - #error No timer implementation for this platform - #endif + #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__) + /* Mainly, prevent the compiler from optimizing away delay loops */ + __asm__ __volatile__ ("":::"memory"); |