summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVishal Bhoj <vishal.bhoj@linaro.org>2016-05-17 11:27:48 +0530
committerVishal Bhoj <vishal.bhoj@linaro.org>2016-05-17 11:28:28 +0530
commitb6ab044e1452c89b59bad2bb1b21fc97c93bebfa (patch)
tree19f72281ea9b94cd110b5db04d08dfe88001399e
parentb5e359c144e01b8473ce66b9b48195f91151d05a (diff)
downloadchromium-patchsets-b6ab044e1452c89b59bad2bb1b21fc97c93bebfa.tar.gz
add armv8 patch
Change-Id: I93aba7cf4c8f40e1fd720fc9ebe60f0712733003 Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
-rw-r--r--third_party/android_tools/Remove-asm-construct-for-swap16md-for-aarch64.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/third_party/android_tools/Remove-asm-construct-for-swap16md-for-aarch64.patch b/third_party/android_tools/Remove-asm-construct-for-swap16md-for-aarch64.patch
new file mode 100644
index 0000000..bb68e23
--- /dev/null
+++ b/third_party/android_tools/Remove-asm-construct-for-swap16md-for-aarch64.patch
@@ -0,0 +1,47 @@
+From 4192e76925c954f561a4d9514902a4f1a56cffa5 Mon Sep 17 00:00:00 2001
+From: Khasim Syed Mohammed <khasim.mohammed@linaro.org>
+Date: Thu, 14 Apr 2016 15:54:18 +0530
+Subject: [PATCH] Remove asm construct for swap16md for aarch64
+
+building 64bit browser for ARMv8 with clang results in errors,
+
+../../third_party/android_tools/ndk/platforms/android-21
+/arch-arm64/usr/include/machine/endian.h:39:44:
+note: expanded from macro '__swap16md'
+
+ __asm volatile ("rev16 %0, %0" : "+r" (_x)); \
+ ^
+../../base/third_party/libevent/evdns.c:838:2:
+note: use constraint modifier "w"
+
+This patch dumps the asm construct to use the built in bswap16.
+__builtin_bswap16(x)
+
+This patch helps in building 64bit browser with clang for ARM64
+
+BUG : http://crbug.com/539781
+
+Change-Id: Idb55a3356a3baec4a165f5d52d3f961f00fc534d
+Signed-off-by: Bernhard Rosenkränzer <bero@linaro.org>
+Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@linaro.org>
+---
+
+diff --git a/ndk/platforms/android-21/arch-arm64/usr/include/machine/endian.h b/ndk/platforms/android-21/arch-arm64/usr/include/machine/endian.h
+index 87a038d..cdf2cc2 100644
+--- a/ndk/platforms/android-21/arch-arm64/usr/include/machine/endian.h
++++ b/ndk/platforms/android-21/arch-arm64/usr/include/machine/endian.h
+@@ -34,13 +34,8 @@
+
+ #ifdef __GNUC__
+
+-#define __swap16md(x) ({ \
+- register u_int16_t _x = (x); \
+- __asm volatile ("rev16 %0, %0" : "+r" (_x)); \
+- _x; \
+-})
+-
+ /* Use GCC builtins */
++#define __swap16md(x) __builtin_bswap16(x)
+ #define __swap32md(x) __builtin_bswap32(x)
+ #define __swap64md(x) __builtin_bswap64(x)
+