diff options
author | Vishal Bhoj <vishal.bhoj@linaro.org> | 2016-05-17 11:27:48 +0530 |
---|---|---|
committer | Vishal Bhoj <vishal.bhoj@linaro.org> | 2016-05-17 11:28:28 +0530 |
commit | b6ab044e1452c89b59bad2bb1b21fc97c93bebfa (patch) | |
tree | 19f72281ea9b94cd110b5db04d08dfe88001399e | |
parent | b5e359c144e01b8473ce66b9b48195f91151d05a (diff) | |
download | chromium-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.patch | 47 |
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) + |