Browse Source

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>
lilik-openwrt-22.03
Rosen Penev 6 years ago
parent
commit
2838fbc38d
2 changed files with 12 additions and 1 deletions
  1. +1
    -1
      libs/libfolly/Makefile
  2. +11
    -0
      libs/libfolly/patches/103-arm-yield.patch

+ 1
- 1
libs/libfolly/Makefile View File

@ -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)?


+ 11
- 0
libs/libfolly/patches/103-arm-yield.patch View File

@ -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");

Loading…
Cancel
Save