aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2019-06-17 11:32:52 -0700
committerRosen Penev <rosenp@gmail.com>2019-06-17 12:29:37 -0700
commit2838fbc38db60c686bf6cd9f1b361d3b50326fd1 (patch)
treed0842ec8888684afa446393115c1c7aa8757054e
parent45d2000f9caed2d797199dcfbaaac120dce00d99 (diff)
libfolly: Fix compilation for older ARM platforms
ARM6 and below do not support the yield instruction. Do not use it there. Signed-off-by: Rosen Penev <rosenp@gmail.com>
-rw-r--r--libs/libfolly/Makefile2
-rw-r--r--libs/libfolly/patches/103-arm-yield.patch11
2 files changed, 12 insertions, 1 deletions
diff --git a/libs/libfolly/Makefile b/libs/libfolly/Makefile
index 8f4cc9dc6..b731a7d69 100644
--- a/libs/libfolly/Makefile
+++ b/libs/libfolly/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libfolly
PKG_VERSION:=2019.06.10.00
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/facebook/folly/tar.gz/v$(PKG_VERSION)?
diff --git a/libs/libfolly/patches/103-arm-yield.patch b/libs/libfolly/patches/103-arm-yield.patch
new file mode 100644
index 000000000..f8695261f
--- /dev/null
+++ b/libs/libfolly/patches/103-arm-yield.patch
@@ -0,0 +1,11 @@
+--- a/folly/portability/Asm.h
++++ b/folly/portability/Asm.h
+@@ -38,7 +38,7 @@ inline void asm_volatile_pause() {
+ ::_mm_pause();
+ #elif defined(__i386__) || FOLLY_X64
+ asm volatile("pause");
+-#elif FOLLY_AARCH64 || defined(__arm__)
++#elif FOLLY_AARCH64 || (defined(__arm__) && !(__ARM_ARCH < 7))
+ asm volatile("yield");
+ #elif FOLLY_PPC64
+ asm volatile("or 27,27,27");