* [Buildroot] [PATCH v2 1/1] qt5webkit: fix build issue with 32-bits armv8-a
@ 2018-03-02 11:58 Gaël PORTAY
2018-03-02 13:23 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Gaël PORTAY @ 2018-03-02 11:58 UTC (permalink / raw)
To: buildroot
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
[1]: https://github.com/qt/qtwebkit/blob/35655d5f4bad248ead1700b59c381cc568b4e98b/Source/WTF/wtf/Platform.h#L241-L242
Cc: Arnout Vandecappelle <arnout@mind.be>
Reported-by: Brock Williams <brock@cottonwoodcomputer.com>
Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
---
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
diff --git a/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch
new file mode 100644
index 0000000000..1cb655c078
--- /dev/null
+++ b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch
@@ -0,0 +1,48 @@
+From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
+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 <gael.portay@savoirfairelinux.com>
+---
+ 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
+
diff --git a/package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch
new file mode 100644
index 0000000000..1cb655c078
--- /dev/null
+++ b/package/qt5/qt5webkit/5.9.1/0003-Detect-32-bits-armv8-a-architecture.patch
@@ -0,0 +1,48 @@
+From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
+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 <gael.portay@savoirfairelinux.com>
+---
+ 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
+
--
2.11.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] qt5webkit: fix build issue with 32-bits armv8-a
2018-03-02 11:58 [Buildroot] [PATCH v2 1/1] qt5webkit: fix build issue with 32-bits armv8-a Gaël PORTAY
@ 2018-03-02 13:23 ` Thomas Petazzoni
2018-03-02 16:16 ` Gaël PORTAY
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2018-03-02 13:23 UTC (permalink / raw)
To: buildroot
Hello,
On Fri, 2 Mar 2018 06:58:53 -0500, Ga?l PORTAY wrote:
> 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__.
Do you know why we have this difference between __ARM_ARCH_8__ and
__ARM_ARCH_8A__ ?
> diff --git a/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch
> new file mode 100644
> index 0000000000..1cb655c078
> --- /dev/null
> +++ b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch
> @@ -0,0 +1,48 @@
> +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001
> +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
> +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 :)
> +Upstream-Status: Inappropriate
This is not really correct: your patch is a backport from upstream,
with adaptations.
> +Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
(Both comments also apply to the 5.9.3 patch, of course).
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] qt5webkit: fix build issue with 32-bits armv8-a
2018-03-02 13:23 ` Thomas Petazzoni
@ 2018-03-02 16:16 ` Gaël PORTAY
2018-03-02 21:19 ` Adrian Perez de Castro
0 siblings, 1 reply; 4+ messages in thread
From: Gaël PORTAY @ 2018-03-02 16:16 UTC (permalink / raw)
To: buildroot
Thomas,
On Fri, Mar 02, 2018 at 02:23:01PM +0100, Thomas Petazzoni wrote:
> Hello,
>
> On Fri, 2 Mar 2018 06:58:53 -0500, Ga?l PORTAY wrote:
> > 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__.
>
> 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.
>
> > diff --git a/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch
> > new file mode 100644
> > index 0000000000..1cb655c078
> > --- /dev/null
> > +++ b/package/qt5/qt5webkit/5.6.3/0005-Detect-32-bits-armv8-a-architecture.patch
> > @@ -0,0 +1,48 @@
> > +From 068bf2d2d91382ea0d8ec24a142a30ea429704db Mon Sep 17 00:00:00 2001
> > +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
> > +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 :)
>
Fixed for v3.
> > +Upstream-Status: Inappropriate
>
> This is not really correct: your patch is a backport from upstream,
> with adaptations.
>
Well, okay.
> > +Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
>
> (Both comments also apply to the 5.9.3 patch, of course).
>
> Thanks!
>
> Thomas
> --
> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] qt5webkit: fix build issue with 32-bits armv8-a
2018-03-02 16:16 ` Gaël PORTAY
@ 2018-03-02 21:19 ` Adrian Perez de Castro
0 siblings, 0 replies; 4+ messages in thread
From: Adrian Perez de Castro @ 2018-03-02 21:19 UTC (permalink / raw)
To: buildroot
Hello,
On Fri, 2 Mar 2018 11:16:24 -0500, Ga?l PORTAY <gael.portay@savoirfairelinux.com> wrote:
> On Fri, Mar 02, 2018 at 02:23:01PM +0100, Thomas Petazzoni wrote:
> > Hello,
> >
> > On Fri, 2 Mar 2018 06:58:53 -0500, Ga?l PORTAY wrote:
> > >
> > > [...]
> >
> > 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.
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-03-02 21:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-02 11:58 [Buildroot] [PATCH v2 1/1] qt5webkit: fix build issue with 32-bits armv8-a Gaël PORTAY
2018-03-02 13:23 ` Thomas Petazzoni
2018-03-02 16:16 ` Gaël PORTAY
2018-03-02 21:19 ` Adrian Perez de Castro
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox