Patchwork [meta-qt5,1/2] qtjsbackend: fix hardfloat detection in v8

login
register
mail settings
Submitter Eric BENARD
Date May 24, 2013, 9:44 a.m.
Message ID <1369388677-15423-1-git-send-email-eric@eukrea.com>
Download mbox | patch
Permalink /patch/50479/
State Superseded
Headers show

Comments

Eric BENARD - May 24, 2013, 9:44 a.m.
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 recipes-qt/qt5/qtjsbackend.inc                     |    1 +
 .../qtjsbackend/0001-Fix-hardfloat-detection.patch |   33 ++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
Martin Jansa - May 24, 2013, 10:59 a.m.
On Fri, May 24, 2013 at 11:44:36AM +0200, Eric Bénard wrote:
> Signed-off-by: Eric Bénard <eric@eukrea.com>
> ---
>  recipes-qt/qt5/qtjsbackend.inc                     |    1 +
>  .../qtjsbackend/0001-Fix-hardfloat-detection.patch |   33 ++++++++++++++++++++
>  2 files changed, 34 insertions(+)
>  create mode 100644 recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch

Looks good, but have you tried that the same patch does apply to all 4
versions we currently have?
 
> diff --git a/recipes-qt/qt5/qtjsbackend.inc b/recipes-qt/qt5/qtjsbackend.inc
> index 4479654..a0dc632 100644
> --- a/recipes-qt/qt5/qtjsbackend.inc
> +++ b/recipes-qt/qt5/qtjsbackend.inc
> @@ -13,4 +13,5 @@ INC_PR = "r0"
>  
>  SRC_URI += " \
>      file://0002-v8.pro-respect-external-host-bindir-when-set.patch \
> +    file://0001-Fix-hardfloat-detection.patch \
>  "
> diff --git a/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch b/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
> new file mode 100644
> index 0000000..3d86fbf
> --- /dev/null
> +++ b/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
> @@ -0,0 +1,33 @@
> +From 05a87fccb76447ce3cb4b926128af929f26469bb Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
> +Date: Wed, 22 May 2013 18:50:01 +0200
> +Subject: [PATCH] Fix hardfloat detection
> +
> +based on the same patch for nodejs which says :
> +
> +gcc has a builtin define to denote hard abi when in use, e.g. when
> +using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore
> +we should check that to determine which calling convention is in use
> +and not __VFP_FP__ which merely indicates presence of VFP unit
> +
> +The fix has been provided by Khem Raj <raj.khem@gmail.com>
> +---
> + src/3rdparty/v8/src/platform-linux.cc |    2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/3rdparty/v8/src/platform-linux.cc b/src/3rdparty/v8/src/platform-linux.cc
> +index f6db423..8ae2249 100644
> +--- a/src/3rdparty/v8/src/platform-linux.cc
> ++++ b/src/3rdparty/v8/src/platform-linux.cc
> +@@ -167,7 +167,7 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) {
> + // calling this will return 1.0 and otherwise 0.0.
> + static void ArmUsingHardFloatHelper() {
> +   asm("mov r0, #0":::"r0");
> +-#if defined(__VFP_FP__) && !defined(__SOFTFP__)
> ++#if defined(__ARM_PCS_VFP) && !defined(__SOFTFP__)
> +   // Load 0x3ff00000 into r1 using instructions available in both ARM
> +   // and Thumb mode.
> +   asm("mov r1, #3":::"r1");
> +-- 
> +1.7.10.4
> +
> -- 
> 1.7.10.4
>
Koen Kooi - May 24, 2013, 11:39 a.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 24-05-13 11:44, Eric Bénard schreef:
> Signed-off-by: Eric Bénard <eric@eukrea.com> --- 
> recipes-qt/qt5/qtjsbackend.inc                     |    1 + 
> .../qtjsbackend/0001-Fix-hardfloat-detection.patch |   33
> ++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644
> recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
> 
> diff --git a/recipes-qt/qt5/qtjsbackend.inc
> b/recipes-qt/qt5/qtjsbackend.inc index 4479654..a0dc632 100644 ---
> a/recipes-qt/qt5/qtjsbackend.inc +++ b/recipes-qt/qt5/qtjsbackend.inc @@
> -13,4 +13,5 @@ INC_PR = "r0"
> 
> SRC_URI += " \ 
> file://0002-v8.pro-respect-external-host-bindir-when-set.patch \ +
> file://0001-Fix-hardfloat-detection.patch \ " diff --git
> a/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
> b/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch new file
> mode 100644 index 0000000..3d86fbf --- /dev/null +++
> b/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch @@ -0,0
> +1,33 @@ +From 05a87fccb76447ce3cb4b926128af929f26469bb Mon Sep 17
> 00:00:00 2001 +From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com> 
> +Date: Wed, 22 May 2013 18:50:01 +0200 +Subject: [PATCH] Fix hardfloat
> detection + +based on the same patch for nodejs which says : + +gcc has a
> builtin define to denote hard abi when in use, e.g. when +using
> -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore +we
> should check that to determine which calling convention is in use +and
> not __VFP_FP__ which merely indicates presence of VFP unit + +The fix has
> been provided by Khem Raj <raj.khem@gmail.com>

Does chromium need a similar patch?



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: GPGTools - http://gpgtools.org

iD8DBQFRn1F/MkyGM64RGpERAljbAJ9SkkFECqTmkYc8gxj/5KwjR726IACfd5O7
oNta6Xz+YZDKhT/tnsZEwEI=
=P43l
-----END PGP SIGNATURE-----
Eric BENARD - May 26, 2013, 1:38 p.m.
Hi Koen,

Le Fri, 24 May 2013 13:39:43 +0200,
Koen Kooi <koen@dominion.thruhere.net> a écrit :

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Op 24-05-13 11:44, Eric Bénard schreef:
> > Signed-off-by: Eric Bénard <eric@eukrea.com> --- 
> > recipes-qt/qt5/qtjsbackend.inc                     |    1 + 
> > .../qtjsbackend/0001-Fix-hardfloat-detection.patch |   33
> > ++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644
> > recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
> > 
> Does chromium need a similar patch?
> 
we have one on 19.0.1049.3, no idea if 24.0.1312.52 was tested on
armv7 but v8 seems to integrate the fix (no idea since when).

Eric
Eric BENARD - May 28, 2013, 8:51 a.m.
Le Fri, 24 May 2013 12:59:59 +0200,
Martin Jansa <martin.jansa@gmail.com> a écrit :

> On Fri, May 24, 2013 at 11:44:36AM +0200, Eric Bénard wrote:
> > Signed-off-by: Eric Bénard <eric@eukrea.com>
> > ---
> >  recipes-qt/qt5/qtjsbackend.inc                     |    1 +
> >  .../qtjsbackend/0001-Fix-hardfloat-detection.patch |   33 ++++++++++++++++++++
> >  2 files changed, 34 insertions(+)
> >  create mode 100644 recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
> 
> Looks good, but have you tried that the same patch does apply to all 4
> versions we currently have?
>  
still need to test it on _git.

Eric

Patch

diff --git a/recipes-qt/qt5/qtjsbackend.inc b/recipes-qt/qt5/qtjsbackend.inc
index 4479654..a0dc632 100644
--- a/recipes-qt/qt5/qtjsbackend.inc
+++ b/recipes-qt/qt5/qtjsbackend.inc
@@ -13,4 +13,5 @@  INC_PR = "r0"
 
 SRC_URI += " \
     file://0002-v8.pro-respect-external-host-bindir-when-set.patch \
+    file://0001-Fix-hardfloat-detection.patch \
 "
diff --git a/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch b/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
new file mode 100644
index 0000000..3d86fbf
--- /dev/null
+++ b/recipes-qt/qt5/qtjsbackend/0001-Fix-hardfloat-detection.patch
@@ -0,0 +1,33 @@ 
+From 05a87fccb76447ce3cb4b926128af929f26469bb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
+Date: Wed, 22 May 2013 18:50:01 +0200
+Subject: [PATCH] Fix hardfloat detection
+
+based on the same patch for nodejs which says :
+
+gcc has a builtin define to denote hard abi when in use, e.g. when
+using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore
+we should check that to determine which calling convention is in use
+and not __VFP_FP__ which merely indicates presence of VFP unit
+
+The fix has been provided by Khem Raj <raj.khem@gmail.com>
+---
+ src/3rdparty/v8/src/platform-linux.cc |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/v8/src/platform-linux.cc b/src/3rdparty/v8/src/platform-linux.cc
+index f6db423..8ae2249 100644
+--- a/src/3rdparty/v8/src/platform-linux.cc
++++ b/src/3rdparty/v8/src/platform-linux.cc
+@@ -167,7 +167,7 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) {
+ // calling this will return 1.0 and otherwise 0.0.
+ static void ArmUsingHardFloatHelper() {
+   asm("mov r0, #0":::"r0");
+-#if defined(__VFP_FP__) && !defined(__SOFTFP__)
++#if defined(__ARM_PCS_VFP) && !defined(__SOFTFP__)
+   // Load 0x3ff00000 into r1 using instructions available in both ARM
+   // and Thumb mode.
+   asm("mov r1, #3":::"r1");
+-- 
+1.7.10.4
+