qt5webkit: fix build issue with 32-bits armv8-a
PATCH v2 1/1 qt5webkit: fix build issue with 32-bits armv8-a
Adds WTF platform support for the 32-bits armv8-a architectures.
Fixes:
In file included from ./config.h:30:0,
from ...
./wtf/Platform.h:323:6: error: #error "Not supported ARM
architecture"
# error "Not supported ARM architecture" ^~~~~
The patch is an adaptation of an upstream fix in version 5.212 of qtwebkit[1].
Unfortunately, the commit cannot be backported and has to be fixed since the toolchain does not define __ARM_ARCH_8__ but __ARM_ARCH_8A__.
$ host/bin/arm-buildroot-linux-gnueabihf-g++ -dM -E - < /dev/null | grep -i ARM #define __ARM_SIZEOF_WCHAR_T 4 #define __ARM_FEATURE_SAT 1 #define __ARM_ARCH_ISA_ARM 1 #define __ARMEL__ 1 #define __ARM_FEATURE_UNALIGNED 1 #define __ARM_FEATURE_IDIV 1 #define __ARM_FP 14 #define __ARM_ARCH_8A__ 1 #define __ARM_NEON_FP 6 #define __ARM_SIZEOF_MINIMAL_ENUM 4 #define __ARM_PCS_VFP 1 #define __ARM_FEATURE_LDREX 15 #define __ARM_FEATURE_QBIT 1 #define __ARM_FEATURE_FMA 1 #define __ARM_NEON__ 1 #define __ARM_ARCH_PROFILE 65 #define __ARM_32BIT_STATE 1 #define __ARM_FEATURE_CLZ 1 #define __ARM_ARCH_ISA_THUMB 2 #define __ARM_ARCH 8 #define __arm__ 1 #define __ARM_FEATURE_SIMD32 1 #define __ARM_FEATURE_CRC32 1 #define __ARM_NEON 1 #define __ARM_ARCH_EXT_IDIV__ 1 #define __ARM_EABI__ 1 #define __ARM_FEATURE_DSP 1
---
Changes since v1:
- double check for __ARM_ARCH_8__ and __ARM_ARCH_8A__
- add Reviewed-by Adrian Perez de Castro
.../0005-Detect-32-bits-armv8-a-architecture.patch | 48 ++++++++++++++++++++++ .../0003-Detect-32-bits-armv8-a-architecture.patch | 48 ++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch create mode 100644 package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +48 -0
@@ -0,0 +1,48 @@ +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <[email protected]> +Date: Tue, 15 Aug 2017 18:28:49 -0400 +Subject: [PATCH 1/1] Detect 32-bits armv8-a architecture +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Adds WTF platform support for the 32-bits armv8-a architectures. + +Theses toolchains define __ARM_ARCH_8A__ (for ARM architecture version) +and __arm__ (for 32-bits word-size; __aarch64__ for 64-bits). + +This commit catches this new architecture (armv8a) within a #ifdef/#endif +inside the if statement dedicated for 32-bits ARM detection. + +Fixes: + + In file included from ./config.h:30:0, + from ... + ./wtf/Platform.h:323:6: error: #error "Not supported ARM architecture" + # error "Not supported ARM architecture" + ^~~~~ + +Upstream-Status: Inappropriate +Signed-off-by: Ga?l PORTAY <[email protected]> +--- + Source/WTF/wtf/Platform.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 562840cf7..9cf656845 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -243,6 +243,10 @@ + || defined(__ARM_ARCH_7S__) + #define WTF_ARM_ARCH_VERSION 7 + ++#elif defined(__ARM_ARCH_8__) \ ++ || defined(__ARM_ARCH_8A__) ++#define WTF_ARM_ARCH_VERSION 8 ++ + /* MSVC sets _M_ARM */ + #elif defined(_M_ARM) + #define WTF_ARM_ARCH_VERSION _M_ARM +-- +2.16.1 +
package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch new file +48 -0
48 lines not on this page · raw message
Signature · 1 line
2.11.0
PATCH v2 1/1 qt5webkit: fix build issue with 32-bits armv8-a
Hello,
Quoted 8 lines · Ga?l PORTAY
Adds WTF platform support for the 32-bits armv8-a architectures.
Fixes:
In file included from ./config.h:30:0,
from ...
./wtf/Platform.h:323:6: error: #error "Not supported ARM
architecture"
Quoted 8 lines
# error "Not supported ARM architecture" ^~~~~The patch is an adaptation of an upstream fix in version 5.212 of qtwebkit[1].
Unfortunately, the commit cannot be backported and has to be fixed since the toolchain does not define
__ARM_ARCH_8__but__ARM_ARCH_8A__.
Do you know why we have this difference between __ARM_ARCH_8__ and __ARM_ARCH_8A__ ?
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch line 4
Quoted 10 lines
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +4
-0@@ -0,0 +1,48 @@ +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <[email protected]> +Date: Tue, 15 Aug 2017 18:28:49 -0400 +Subject: [PATCH 1/1] Detect 32-bits armv8-a architecture
Nit: generate your patch with "git format-patch -N" to get rid of the "1/1" in [PATCH 1/1]. Indeed, this patch is the fifth patch in the series :)
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch line 5
Quoted 1 line
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +1
-0+Upstream-Status: Inappropriate
This is not really correct: your patch is a backport from upstream, with adaptations.
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch line 6
Quoted 1 line
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +1
-0+Signed-off-by: Ga?l PORTAY <[email protected]>
(Both comments also apply to the 5.9.3 patch, of course).
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com
PATCH v2 1/1 qt5webkit: fix build issue with 32-bits armv8-a
Thomas,
Quoted 14 lines · Thomas Petazzoni
Hello,
Quoted 11 lines · Ga?l PORTAY
Adds WTF platform support for the 32-bits armv8-a architectures.
Fixes:
In file included from ./config.h:30:0,
from ...
./wtf/Platform.h:323:6: error: #error "Not supported ARM
architecture"# error "Not supported ARM architecture" ^~~~~
Quoted 9 lines
Quoted 5 lines
The patch is an adaptation of an upstream fix in version 5.212 of qtwebkit[1].
Unfortunately, the commit cannot be backported and has to be fixed since the toolchain does not define
__ARM_ARCH_8__but__ARM_ARCH_8A__.Do you know why we have this difference between
__ARM_ARCH_8__and__ARM_ARCH_8A__?
Honestly I don't.
I think that the __ARM_ARCH_8__ is never defined and probably does not exist (at least with gcc). But I may be wrong.
I tried to all the armv8 -mcpu option with gcc and I never had __ARM_ARCH_8__ defined.
Quoted 16 lines
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch line 4
Quoted 11 lines
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +4
-0@@ -0,0 +1,48 @@ +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <[email protected]> +Date: Tue, 15 Aug 2017 18:28:49 -0400 +Subject: [PATCH 1/1] Detect 32-bits armv8-a architectureNit: generate your patch with "git format-patch -N" to get rid of the "1/1" in [PATCH 1/1]. Indeed, this patch is the fifth patch in the series :)
Fixed for v3.
Quoted 5 lines
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch line 5
Quoted 1 line
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +1
-0+Upstream-Status: InappropriateThis is not really correct: your patch is a backport from upstream, with adaptations.
Well, okay.
Quoted 15 lines
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch line 6
Quoted 1 line
package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch new file +1
-0+Signed-off-by: Ga?l PORTAY <[email protected]>(Both comments also apply to the 5.9.3 patch, of course).
Thanks!
Thomas
Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
Gael
PATCH v2 1/1 qt5webkit: fix build issue with 32-bits armv8-a
Hello,
Quoted 10 lines · Ga?l PORTAY
Quoted 8 lines · Thomas Petazzoni
Hello,
Quoted 2 lines · Ga?l PORTAY
[...]
Do you know why we have this difference between
__ARM_ARCH_8__and__ARM_ARCH_8A__?
Quoted 7 lines
Honestly I don't.
I think that the
__ARM_ARCH_8__is never defined and probably does not exist (at least with gcc). But I may be wrong.I tried to all the armv8 -mcpu option with gcc and I never had
__ARM_ARCH_8__defined.
I haven't got the time to check right now, but I *suspect* that Clang (or Apple's Clang) uses __ARM_ARCH_8__, because the initial support for 64-bit ARM was done by Apple and they use Clang.
Cheers,
--
Adri?n ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180302/51a23986/attachment.asc>