All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm
@ 2015-05-13 12:30 Martin Jansa
  2015-05-14 10:48 ` Richard Purdie
  2015-10-14 11:22 ` [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm Martin Jansa
  0 siblings, 2 replies; 15+ messages in thread
From: Martin Jansa @ 2015-05-13 12:30 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/gcc/gcc_4.9.bb               | 23 ++++++++++++++++++++++
 meta/recipes-devtools/guile/guile_2.0.11.bb        | 19 ++++++++++++++++++
 meta/recipes-devtools/opensp/opensp_1.5.2.bb       |  5 +++++
 meta/recipes-extended/mailx/mailx_12.5.bb          |  4 ++++
 .../gstreamer/gstreamer1.0-libav_1.4.5.bb          |  9 +++++++++
 meta/recipes-support/libunwind/libunwind_1.1.bb    |  6 ++++++
 6 files changed, 66 insertions(+)

diff --git a/meta/recipes-devtools/gcc/gcc_4.9.bb b/meta/recipes-devtools/gcc/gcc_4.9.bb
index c4827c6..9561b86 100644
--- a/meta/recipes-devtools/gcc/gcc_4.9.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.9.bb
@@ -4,4 +4,27 @@ require gcc-target.inc
 # Building with thumb enabled on armv4t fails with
 # | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
 # | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
+# and on armv5te (qemuarm) it fails with ICE:
+# | /home/jenkins/oe/world/shr-core/tmp-glibc/work-shared/gcc-4.9.2-r0/gcc-4.9.2/gcc/cse.c:5949:1: error: unable to generate reloads for:
+# |  }
+# |  ^
+# | (jump_insn 3586 13095 8302 510 (parallel [
+# |             (set (pc)
+# |                 (if_then_else (lt (plus:SI (reg:SI 4908 [3615])
+# |                             (reg:SI 4876))
+# |                         (const_int 0 [0]))
+# |                     (label_ref 3590)
+# |                     (pc)))
+# |             (set (reg:SI 3252)
+# |                 (plus:SI (reg:SI 4908 [3615])
+# |                     (reg:SI 4876)))
+# |             (clobber (mem/c:SI (reg:SI 5320) [107 %sfp+-208 S4 A32]))
+# |         ]) /home/jenkins/oe/world/shr-core/tmp-glibc/work-shared/gcc-4.9.2-r0/gcc-4.9.2/gcc/cse.c:5174 225 {*addsi3_cbranch}
+# |      (expr_list:REG_DEAD (reg:SI 5320)
+# |         (expr_list:REG_DEAD (reg:SI 4908 [3615])
+# |             (expr_list:REG_DEAD (reg:SI 4876)
+# |                 (int_list:REG_BR_PROB 2100 (nil)))))
+# |  -> 3590)
+# | /home/jenkins/oe/world/shr-core/tmp-glibc/work-shared/gcc-4.9.2-r0/gcc-4.9.2/gcc/cse.c:5949:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3362
 ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta/recipes-devtools/guile/guile_2.0.11.bb b/meta/recipes-devtools/guile/guile_2.0.11.bb
index d1578e0..025eb54 100644
--- a/meta/recipes-devtools/guile/guile_2.0.11.bb
+++ b/meta/recipes-devtools/guile/guile_2.0.11.bb
@@ -104,3 +104,22 @@ guile_sstate_postinst() {
                 find ${STAGING_DIR_TARGET}/${libdir}/guile/2.0/ccache -type f | xargs touch
 	fi
 }
+
+# Fails to build for qemuarm:
+# | {standard input}: Assembler messages:
+# | {standard input}:16707: Error: instruction not supported in Thumb16 mode -- `adds r0,r2,r4'
+# | {standard input}:16707: Error: lo register required -- `str r0,[r8]'
+# | {standard input}:18192: Error: instruction not supported in Thumb16 mode -- `subs r0,r2,r4'
+# | {standard input}:18192: Error: lo register required -- `str r0,[r8]'
+# | {standard input}:18279: Error: selected processor does not support Thumb mode `smull r3,r6,r2,r6'
+# | {standard input}:34878: Error: instruction not supported in Thumb16 mode -- `subs r0,r2,r4'
+# | {standard input}:34878: Error: lo register required -- `str r0,[r8]'
+# | {standard input}:35148: Error: selected processor does not support Thumb mode `smull r3,r5,r2,r5'
+# | {standard input}:35241: Error: instruction not supported in Thumb16 mode -- `adds r0,r2,r4'
+# | {standard input}:35241: Error: lo register required -- `str r0,[r8]'
+# | {standard input}:16707: Error: branch out of range
+# | {standard input}:18192: Error: branch out of range
+# | {standard input}:34878: Error: branch out of range
+# | {standard input}:35241: Error: branch out of range
+# | make[3]: *** [libguile_2.0_la-vm.lo] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-devtools/opensp/opensp_1.5.2.bb b/meta/recipes-devtools/opensp/opensp_1.5.2.bb
index a1f115c..a9f03a4 100644
--- a/meta/recipes-devtools/opensp/opensp_1.5.2.bb
+++ b/meta/recipes-devtools/opensp/opensp_1.5.2.bb
@@ -53,3 +53,8 @@ do_install_append_class-native() {
 FILES_${PN} += "${datadir}/OpenSP/"
 
 BBCLASSEXTEND = "native"
+
+# Fails to build with thumb-1 (qemuarm)
+# | {standard input}: Assembler messages:
+# | {standard input}: Error: unaligned opcodes detected in executable segment
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-extended/mailx/mailx_12.5.bb b/meta/recipes-extended/mailx/mailx_12.5.bb
index a53da3a..3b49145 100644
--- a/meta/recipes-extended/mailx/mailx_12.5.bb
+++ b/meta/recipes-extended/mailx/mailx_12.5.bb
@@ -34,3 +34,7 @@ EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail"
 # fio.c:56:17: fatal error: ssl.h: No such file or directory
 # #include <ssl.h>
 PARALLEL_MAKE = ""
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# jenkins  20755 99.9  6.1 5155676 5041932 ?     R    11:30  38:51 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/mailx/12.5-r2/heirloom-mailx-12.5/EXT -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -D _BSD_SOURCE -D DEBIAN -D _GNU_SOURCE -D MAILRC="/etc/nail.rc" -D MAILSPOOL="/var/mail" -D SENDMAIL="/usr/sbin/sendmail" -D HAVE_IPv6_FUNCS send.c -quiet -dumpbase send.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase send -g -O2 -feliminate-unused-debug-types -o -
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
index 11b1cfb..42ba589 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
@@ -24,3 +24,12 @@ LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:5126: Error: instruction not supported in Thumb16 mode -- `adds r3,r1,r0,lsr#31'
+#| {standard input}:5127: Error: selected processor does not support Thumb mode `itet ne'
+#| {standard input}:5128: Error: Thumb does not support conditional execution
+#| {standard input}:5129: Error: Thumb does not support conditional execution
+#| {standard input}:5130: Error: Thumb does not support conditional execution
+#| make[5]: *** [libavresample/audio_mix.o] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-support/libunwind/libunwind_1.1.bb b/meta/recipes-support/libunwind/libunwind_1.1.bb
index ee6f522..8453170 100644
--- a/meta/recipes-support/libunwind/libunwind_1.1.bb
+++ b/meta/recipes-support/libunwind/libunwind_1.1.bb
@@ -9,3 +9,9 @@ SRC_URI += "\
 
 SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
 SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:84: Error: lo register required -- `ldmia r2,{r4-r12,lr}'
+#| make[2]: *** [arm/Gresume.lo] Error 1
+ARM_INSTRUCTION_SET = "arm"
-- 
2.4.0



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm
  2015-05-13 12:30 [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm Martin Jansa
@ 2015-05-14 10:48 ` Richard Purdie
  2015-05-14 11:40   ` Martin Jansa
  2015-10-14 11:22 ` [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm Martin Jansa
  1 sibling, 1 reply; 15+ messages in thread
From: Richard Purdie @ 2015-05-14 10:48 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On Wed, 2015-05-13 at 14:30 +0200, Martin Jansa wrote:
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-devtools/gcc/gcc_4.9.bb               | 23 ++++++++++++++++++++++
>  meta/recipes-devtools/guile/guile_2.0.11.bb        | 19 ++++++++++++++++++
>  meta/recipes-devtools/opensp/opensp_1.5.2.bb       |  5 +++++
>  meta/recipes-extended/mailx/mailx_12.5.bb          |  4 ++++
>  .../gstreamer/gstreamer1.0-libav_1.4.5.bb          |  9 +++++++++
>  meta/recipes-support/libunwind/libunwind_1.1.bb    |  6 ++++++
>  6 files changed, 66 insertions(+)

As mentioned on the bug relating to this, I think we should create an
include file which sets the values as needed for these recipes rather
than adding the quite long comments to the recipes themselves. This is
similar to what we do where we know there are security flags issues for
example.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm
  2015-05-14 10:48 ` Richard Purdie
@ 2015-05-14 11:40   ` Martin Jansa
  2015-10-09 15:11     ` [PATCH] webkitgtk, gcr, libsecret: force ARM mode Martin Jansa
  0 siblings, 1 reply; 15+ messages in thread
From: Martin Jansa @ 2015-05-14 11:40 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On Thu, May 14, 2015 at 11:48:17AM +0100, Richard Purdie wrote:
> On Wed, 2015-05-13 at 14:30 +0200, Martin Jansa wrote:
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> >  meta/recipes-devtools/gcc/gcc_4.9.bb               | 23 ++++++++++++++++++++++
> >  meta/recipes-devtools/guile/guile_2.0.11.bb        | 19 ++++++++++++++++++
> >  meta/recipes-devtools/opensp/opensp_1.5.2.bb       |  5 +++++
> >  meta/recipes-extended/mailx/mailx_12.5.bb          |  4 ++++
> >  .../gstreamer/gstreamer1.0-libav_1.4.5.bb          |  9 +++++++++
> >  meta/recipes-support/libunwind/libunwind_1.1.bb    |  6 ++++++
> >  6 files changed, 66 insertions(+)
> 
> As mentioned on the bug relating to this, I think we should create an
> include file which sets the values as needed for these recipes rather
> than adding the quite long comments to the recipes themselves. This is
> similar to what we do where we know there are security flags issues for
> example.

Is it OK, to put overrides for recipes in other layers to .inc file in
oe-core? If yes then I agree and will convert this into .inc file in
conf/machine/include/ (included by default for thumb1 machine tunes)


-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-05-14 11:40   ` Martin Jansa
@ 2015-10-09 15:11     ` Martin Jansa
  2015-10-10 12:13       ` Carlos Alberto Lopez Perez
  2015-10-11  9:51       ` Phil Blundell
  0 siblings, 2 replies; 15+ messages in thread
From: Martin Jansa @ 2015-10-09 15:11 UTC (permalink / raw)
  To: openembedded-core

* gcr, libsecret are new since switch to gcc 5.2
* webkitgtk is old but it was removed while migrating from
  webkit-gtk to webkitgtl (like REQUIRED_DISTRO_FEATURES were) :/

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-gnome/gcr/gcr_3.16.0.bb             | 3 +++
 meta/recipes-gnome/libsecret/libsecret_0.18.2.bb | 3 +++
 meta/recipes-sato/webkit/webkitgtk_2.8.5.bb      | 2 ++
 3 files changed, 8 insertions(+)

diff --git a/meta/recipes-gnome/gcr/gcr_3.16.0.bb b/meta/recipes-gnome/gcr/gcr_3.16.0.bb
index 8b5b6e4..4c9fe2e 100644
--- a/meta/recipes-gnome/gcr/gcr_3.16.0.bb
+++ b/meta/recipes-gnome/gcr/gcr_3.16.0.bb
@@ -16,3 +16,6 @@ FILES_${PN} += " \
     ${datadir}/dbus-1 \
     ${datadir}/gcr-3 \
 "
+
+# http://errors.yoctoproject.org/Errors/Details/20229/
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb b/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb
index ac84cb1..8fc0018 100644
--- a/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb
+++ b/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb
@@ -10,3 +10,6 @@ EXTRA_OECONF += "--disable-manpages"
 
 SRC_URI[archive.md5sum] = "23cdf8267d11a26f88f0dbec1e2022ad"
 SRC_URI[archive.sha256sum] = "12fd288b012e1b2b1b54d586cd4c6507885715534644b4534b7ef7d7079ba443"
+
+# http://errors.yoctoproject.org/Errors/Details/20228/
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
index f14c868..e29666a 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
@@ -70,3 +70,5 @@ FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbu
 FILES_${PN}-dbg += "${libdir}/webkit2gtk-4.0/injected-bundle/.debug/libwebkit2gtkinjectedbundle.so"
 FILES_${PN}-dbg += "${libdir}/webkitgtk/webkit2gtk-4.0/.debug/*"
 
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET = "arm"
-- 
2.6.0



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-09 15:11     ` [PATCH] webkitgtk, gcr, libsecret: force ARM mode Martin Jansa
@ 2015-10-10 12:13       ` Carlos Alberto Lopez Perez
  2015-10-10 15:32         ` Martin Jansa
  2015-10-10 19:15         ` Khem Raj
  2015-10-11  9:51       ` Phil Blundell
  1 sibling, 2 replies; 15+ messages in thread
From: Carlos Alberto Lopez Perez @ 2015-10-10 12:13 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]

On 09/10/15 17:11, Martin Jansa wrote:
> * gcr, libsecret are new since switch to gcc 5.2
> * webkitgtk is old but it was removed while migrating from
>   webkit-gtk to webkitgtl (like REQUIRED_DISTRO_FEATURES were) :/
> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---

> diff --git a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> index f14c868..e29666a 100644
> --- a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> +++ b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> @@ -70,3 +70,5 @@ FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbu
>  FILES_${PN}-dbg += "${libdir}/webkit2gtk-4.0/injected-bundle/.debug/libwebkit2gtkinjectedbundle.so"
>  FILES_${PN}-dbg += "${libdir}/webkitgtk/webkit2gtk-4.0/.debug/*"
>  
> +# http://errors.yoctoproject.org/Errors/Details/20370/
> +ARM_INSTRUCTION_SET = "arm"
> 

I tried to build webkitgtk using current master of poky for machine
qemuarm and it built fine:

Build Configuration:
BB_VERSION        = "1.28.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Debian-8.1"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "qemuarm"
DISTRO            = "poky"
DISTRO_VERSION    = "2.0"
TUNE_FEATURES     = "arm armv5 thumb dsp"
TARGET_FPU        = "soft"
meta
meta-yocto
meta-yocto-bsp    = "master:ceeb52a2544045fe8432e36307a321f6e934de49"




Can you tell me how to reproduce this failure?
Also, what the ARM_INSTRUCTION_SET = "arm" line does?
Thanks.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-10 12:13       ` Carlos Alberto Lopez Perez
@ 2015-10-10 15:32         ` Martin Jansa
  2015-10-10 21:45           ` Carlos Alberto Lopez Perez
  2015-10-10 19:15         ` Khem Raj
  1 sibling, 1 reply; 15+ messages in thread
From: Martin Jansa @ 2015-10-10 15:32 UTC (permalink / raw)
  To: Carlos Alberto Lopez Perez, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2082 bytes --]

Did you enable thumb in that build? It's not enabled by default.

ARM_INSTRUCTION_SET is for recipes to use arm when distro selects thumb by
default.

On Sat, Oct 10, 2015, 14:13 Carlos Alberto Lopez Perez <clopez@igalia.com>
wrote:

> On 09/10/15 17:11, Martin Jansa wrote:
> > * gcr, libsecret are new since switch to gcc 5.2
> > * webkitgtk is old but it was removed while migrating from
> >   webkit-gtk to webkitgtl (like REQUIRED_DISTRO_FEATURES were) :/
> >
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
>
> > diff --git a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> > index f14c868..e29666a 100644
> > --- a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> > +++ b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
> > @@ -70,3 +70,5 @@ FILES_${PN} +=
> "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbu
> >  FILES_${PN}-dbg +=
> "${libdir}/webkit2gtk-4.0/injected-bundle/.debug/libwebkit2gtkinjectedbundle.so"
> >  FILES_${PN}-dbg += "${libdir}/webkitgtk/webkit2gtk-4.0/.debug/*"
> >
> > +# http://errors.yoctoproject.org/Errors/Details/20370/
> > +ARM_INSTRUCTION_SET = "arm"
> >
>
> I tried to build webkitgtk using current master of poky for machine
> qemuarm and it built fine:
>
> Build Configuration:
> BB_VERSION        = "1.28.0"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Debian-8.1"
> TARGET_SYS        = "arm-poky-linux-gnueabi"
> MACHINE           = "qemuarm"
> DISTRO            = "poky"
> DISTRO_VERSION    = "2.0"
> TUNE_FEATURES     = "arm armv5 thumb dsp"
> TARGET_FPU        = "soft"
> meta
> meta-yocto
> meta-yocto-bsp    = "master:ceeb52a2544045fe8432e36307a321f6e934de49"
>
>
>
>
> Can you tell me how to reproduce this failure?
> Also, what the ARM_INSTRUCTION_SET = "arm" line does?
> Thanks.
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 3331 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-10 12:13       ` Carlos Alberto Lopez Perez
  2015-10-10 15:32         ` Martin Jansa
@ 2015-10-10 19:15         ` Khem Raj
  1 sibling, 0 replies; 15+ messages in thread
From: Khem Raj @ 2015-10-10 19:15 UTC (permalink / raw)
  To: Carlos Alberto Lopez Perez
  Cc: Patches and discussions about the oe-core layer

On Sat, Oct 10, 2015 at 5:13 AM, Carlos Alberto Lopez Perez
<clopez@igalia.com> wrote:
> On 09/10/15 17:11, Martin Jansa wrote:
>> * gcr, libsecret are new since switch to gcc 5.2
>> * webkitgtk is old but it was removed while migrating from
>>   webkit-gtk to webkitgtl (like REQUIRED_DISTRO_FEATURES were) :/
>>
>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> ---
>
>> diff --git a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
>> index f14c868..e29666a 100644
>> --- a/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
>> +++ b/meta/recipes-sato/webkit/webkitgtk_2.8.5.bb
>> @@ -70,3 +70,5 @@ FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbu
>>  FILES_${PN}-dbg += "${libdir}/webkit2gtk-4.0/injected-bundle/.debug/libwebkit2gtkinjectedbundle.so"
>>  FILES_${PN}-dbg += "${libdir}/webkitgtk/webkit2gtk-4.0/.debug/*"
>>
>> +# http://errors.yoctoproject.org/Errors/Details/20370/
>> +ARM_INSTRUCTION_SET = "arm"
>>
>
> I tried to build webkitgtk using current master of poky for machine
> qemuarm and it built fine:

That is fine, however keep in mind that poky is one of many
distributions using OE build framework.
there are many other which have different distribution policies and
all of them use OE-Core and bitbake layers
as must. So when you make changes to OE-Core or bitbake the scope is a
bit wider. Testing it on Poky alone
might not be sufficient. In this case the distro is choosing Thumb ISA
as default for ARM architecture, you need
to have that policy set to reproduce this error.

>
> Build Configuration:
> BB_VERSION        = "1.28.0"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Debian-8.1"
> TARGET_SYS        = "arm-poky-linux-gnueabi"
> MACHINE           = "qemuarm"
> DISTRO            = "poky"
> DISTRO_VERSION    = "2.0"
> TUNE_FEATURES     = "arm armv5 thumb dsp"
> TARGET_FPU        = "soft"
> meta
> meta-yocto
> meta-yocto-bsp    = "master:ceeb52a2544045fe8432e36307a321f6e934de49"
>
>
>
>
> Can you tell me how to reproduce this failure?
> Also, what the ARM_INSTRUCTION_SET = "arm" line does?
> Thanks.
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-10 15:32         ` Martin Jansa
@ 2015-10-10 21:45           ` Carlos Alberto Lopez Perez
  2015-10-10 21:59             ` Khem Raj
                               ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Carlos Alberto Lopez Perez @ 2015-10-10 21:45 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1181 bytes --]

On 10/10/15 17:32, Martin Jansa wrote:
> Did you enable thumb in that build? It's not enabled by default.
> 
> ARM_INSTRUCTION_SET is for recipes to use arm when distro selects thumb by
> default.

I assumed it was enabled by default if it was listed on the list printed
on TUNE_FEATURES when starting bitbake. Seems not.

I manually enabled it on the recipe of webkitgtk+ by setting
'ARM_INSTRUCTION_SET = "thumb"' and I was able to reproduce the build
failure.

However, later I tried doing the same for a standard armv7a machine and
it built fine.

qemuarm is arvm6 with thumb1, and any armv7 or newer machine will prefer
thumb2 instead. The compiler would automatically use thumb2 when
enabling -mthumb on a armv7 or newer march.

So, it built fine with -march=armv7-a -mthumb

Given that most people building webkitgtk+ will use armv7 or newer, I
don't think disabling the possibility of building webkitgtk+ with thumb
(thumb2) unconditionally is a good idea.

I also tested to build gcr and libsecret. Both build also fine with
-mthumb on armv7.


So, could we set ARM_INSTRUCTION_SET=arm only for armv6 or older
machines in this 3 recipes?


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-10 21:45           ` Carlos Alberto Lopez Perez
@ 2015-10-10 21:59             ` Khem Raj
  2015-10-12  8:03             ` Martin Jansa
  2015-10-12 11:17             ` Alexander Kanavin
  2 siblings, 0 replies; 15+ messages in thread
From: Khem Raj @ 2015-10-10 21:59 UTC (permalink / raw)
  To: Carlos Alberto Lopez Perez
  Cc: Patches and discussions about the oe-core layer

On Sat, Oct 10, 2015 at 2:45 PM, Carlos Alberto Lopez Perez
<clopez@igalia.com> wrote:
> On 10/10/15 17:32, Martin Jansa wrote:
>> Did you enable thumb in that build? It's not enabled by default.
>>
>> ARM_INSTRUCTION_SET is for recipes to use arm when distro selects thumb by
>> default.
>
> I assumed it was enabled by default if it was listed on the list printed
> on TUNE_FEATURES when starting bitbake. Seems not.
>
> I manually enabled it on the recipe of webkitgtk+ by setting
> 'ARM_INSTRUCTION_SET = "thumb"' and I was able to reproduce the build
> failure.
>
> However, later I tried doing the same for a standard armv7a machine and
> it built fine.
>
> qemuarm is arvm6 with thumb1, and any armv7 or newer machine will prefer
> thumb2 instead. The compiler would automatically use thumb2 when
> enabling -mthumb on a armv7 or newer march.
>
> So, it built fine with -march=armv7-a -mthumb

that will use thumb2 ISA and its not same as thumb1 that Martin is seeing.

>
> Given that most people building webkitgtk+ will use armv7 or newer, I
> don't think disabling the possibility of building webkitgtk+ with thumb
> (thumb2) unconditionally is a good idea.
>
> I also tested to build gcr and libsecret. Both build also fine with
> -mthumb on armv7.
>
>
> So, could we set ARM_INSTRUCTION_SET=arm only for armv6 or older
> machines in this 3 recipes?

I think that should be fine. Although we don't have a single check for this
one needs to check for armv5 and armv4 and its family of sub-arches

>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-09 15:11     ` [PATCH] webkitgtk, gcr, libsecret: force ARM mode Martin Jansa
  2015-10-10 12:13       ` Carlos Alberto Lopez Perez
@ 2015-10-11  9:51       ` Phil Blundell
  2015-10-12 16:21         ` Burton, Ross
  1 sibling, 1 reply; 15+ messages in thread
From: Phil Blundell @ 2015-10-11  9:51 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On Fri, 2015-10-09 at 17:11 +0200, Martin Jansa wrote:
> * gcr, libsecret are new since switch to gcc 5.2

The problem with libsecret seems to be caused by its valgrind support
code (which contains asm statements that only work in ARM state).  I
wonder if you can just turn WITH_VALGRIND off rather than forcing
ARM-state for the whole library.

p.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-10 21:45           ` Carlos Alberto Lopez Perez
  2015-10-10 21:59             ` Khem Raj
@ 2015-10-12  8:03             ` Martin Jansa
  2015-10-12 11:17             ` Alexander Kanavin
  2 siblings, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2015-10-12  8:03 UTC (permalink / raw)
  To: Carlos Alberto Lopez Perez; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1592 bytes --]

On Sat, Oct 10, 2015 at 11:45:43PM +0200, Carlos Alberto Lopez Perez wrote:
> On 10/10/15 17:32, Martin Jansa wrote:
> > Did you enable thumb in that build? It's not enabled by default.
> > 
> > ARM_INSTRUCTION_SET is for recipes to use arm when distro selects thumb by
> > default.
> 
> I assumed it was enabled by default if it was listed on the list printed
> on TUNE_FEATURES when starting bitbake. Seems not.
> 
> I manually enabled it on the recipe of webkitgtk+ by setting
> 'ARM_INSTRUCTION_SET = "thumb"' and I was able to reproduce the build
> failure.
> 
> However, later I tried doing the same for a standard armv7a machine and
> it built fine.
> 
> qemuarm is arvm6 with thumb1, and any armv7 or newer machine will prefer
> thumb2 instead. The compiler would automatically use thumb2 when
> enabling -mthumb on a armv7 or newer march.
> 
> So, it built fine with -march=armv7-a -mthumb
> 
> Given that most people building webkitgtk+ will use armv7 or newer, I
> don't think disabling the possibility of building webkitgtk+ with thumb
> (thumb2) unconditionally is a good idea.
> 
> I also tested to build gcr and libsecret. Both build also fine with
> -mthumb on armv7.
> 
> 
> So, could we set ARM_INSTRUCTION_SET=arm only for armv6 or older
> machines in this 3 recipes?

Yes, that would be better, I'm still waiting for answer about other
layers, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717#c6

In the meantime I'm using this to keep my world builds going.

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-10 21:45           ` Carlos Alberto Lopez Perez
  2015-10-10 21:59             ` Khem Raj
  2015-10-12  8:03             ` Martin Jansa
@ 2015-10-12 11:17             ` Alexander Kanavin
  2015-10-12 22:26               ` Carlos Alberto Lopez Perez
  2 siblings, 1 reply; 15+ messages in thread
From: Alexander Kanavin @ 2015-10-12 11:17 UTC (permalink / raw)
  To: openembedded-core

On 10/11/2015 12:45 AM, Carlos Alberto Lopez Perez wrote:

> So, could we set ARM_INSTRUCTION_SET=arm only for armv6 or older
> machines in this 3 recipes?

Indeed. Webkit has other issues on armv6 or older (JIT fails to build if 
you try to), so I believe the upstream developers test the builds only 
on v7 onwards nowadays, and don't actually support anything older.


Alex



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-11  9:51       ` Phil Blundell
@ 2015-10-12 16:21         ` Burton, Ross
  0 siblings, 0 replies; 15+ messages in thread
From: Burton, Ross @ 2015-10-12 16:21 UTC (permalink / raw)
  To: Phil Blundell; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 614 bytes --]

On 11 October 2015 at 10:51, Phil Blundell <pb@pbcl.net> wrote:

> > * gcr, libsecret are new since switch to gcc 5.2
>
> The problem with libsecret seems to be caused by its valgrind support
> code (which contains asm statements that only work in ARM state).  I
> wonder if you can just turn WITH_VALGRIND off rather than forcing
> ARM-state for the whole library.


That code is provided by valgrind itself so either fixing valgrind to write
valid code or forcibly disabling the code in valgrind.h if thumb is enabled
seems sensible and more likely to catch more problems in a single patch.

Ross

[-- Attachment #2: Type: text/html, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] webkitgtk, gcr, libsecret: force ARM mode
  2015-10-12 11:17             ` Alexander Kanavin
@ 2015-10-12 22:26               ` Carlos Alberto Lopez Perez
  0 siblings, 0 replies; 15+ messages in thread
From: Carlos Alberto Lopez Perez @ 2015-10-12 22:26 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 687 bytes --]

On 12/10/15 13:17, Alexander Kanavin wrote:
> On 10/11/2015 12:45 AM, Carlos Alberto Lopez Perez wrote:
> 
>> So, could we set ARM_INSTRUCTION_SET=arm only for armv6 or older
>> machines in this 3 recipes?
> 
> Indeed. Webkit has other issues on armv6 or older (JIT fails to build if
> you try to), so I believe the upstream developers test the builds only
> on v7 onwards nowadays, and don't actually support anything older.
> 
> 
> Alex
> 

Yes, that's true.

The buildbots we have continuously testing [1] only do it on i686,
AMD64, ARMv7+ (traditional/arm and thumb2) and ARM64 (Aarch64)
architectures.

Regards
-------
[1] https://build.webkit.org/builders


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm
  2015-05-13 12:30 [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm Martin Jansa
  2015-05-14 10:48 ` Richard Purdie
@ 2015-10-14 11:22 ` Martin Jansa
  1 sibling, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2015-10-14 11:22 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/gcc/gcc_4.9.bb                          | 5 ++---
 meta/recipes-devtools/guile/guile_2.0.11.bb                   | 4 ++++
 meta/recipes-devtools/opensp/opensp_1.5.2.bb                  | 4 ++++
 meta/recipes-extended/mailx/mailx_12.5-5.bb                   | 5 +++++
 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb | 3 +++
 meta/recipes-support/libunwind/libunwind_1.1.bb               | 4 ++++
 6 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc_4.9.bb b/meta/recipes-devtools/gcc/gcc_4.9.bb
index b84baae..a9dc612 100644
--- a/meta/recipes-devtools/gcc/gcc_4.9.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.9.bb
@@ -1,10 +1,9 @@
 require recipes-devtools/gcc/gcc-${PV}.inc
 require gcc-target.inc
 
-# Building with thumb enabled on armv4t fails with
-# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
-# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
+# http://errors.yoctoproject.org/Errors/Details/20497/
 ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
 
 BBCLASSEXTEND = "nativesdk"
 
diff --git a/meta/recipes-devtools/guile/guile_2.0.11.bb b/meta/recipes-devtools/guile/guile_2.0.11.bb
index f455740..98b465b 100644
--- a/meta/recipes-devtools/guile/guile_2.0.11.bb
+++ b/meta/recipes-devtools/guile/guile_2.0.11.bb
@@ -119,3 +119,7 @@ guile_sstate_postinst() {
                 find ${STAGING_DIR_TARGET}/${libdir}/guile/2.0/ccache -type f | xargs touch
 	fi
 }
+
+# http://errors.yoctoproject.org/Errors/Details/20491/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta/recipes-devtools/opensp/opensp_1.5.2.bb b/meta/recipes-devtools/opensp/opensp_1.5.2.bb
index a1f115c..60a7d2e 100644
--- a/meta/recipes-devtools/opensp/opensp_1.5.2.bb
+++ b/meta/recipes-devtools/opensp/opensp_1.5.2.bb
@@ -53,3 +53,7 @@ do_install_append_class-native() {
 FILES_${PN} += "${datadir}/OpenSP/"
 
 BBCLASSEXTEND = "native"
+
+# http://errors.yoctoproject.org/Errors/Details/20489/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta/recipes-extended/mailx/mailx_12.5-5.bb b/meta/recipes-extended/mailx/mailx_12.5-5.bb
index ffa9049..c87c582 100644
--- a/meta/recipes-extended/mailx/mailx_12.5-5.bb
+++ b/meta/recipes-extended/mailx/mailx_12.5-5.bb
@@ -41,3 +41,8 @@ EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr
 # fio.c:56:17: fatal error: ssl.h: No such file or directory
 # #include <ssl.h>
 PARALLEL_MAKE = ""
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# http://errors.yoctoproject.org/Errors/Details/20488/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
index 97fc7ec..5d74a2e 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
@@ -25,3 +25,6 @@ LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
+# http://errors.yoctoproject.org/Errors/Details/20493/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta/recipes-support/libunwind/libunwind_1.1.bb b/meta/recipes-support/libunwind/libunwind_1.1.bb
index 8282c1b..29bdf94 100644
--- a/meta/recipes-support/libunwind/libunwind_1.1.bb
+++ b/meta/recipes-support/libunwind/libunwind_1.1.bb
@@ -10,3 +10,7 @@ SRC_URI += "\
 
 SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
 SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"
+
+# http://errors.yoctoproject.org/Errors/Details/20487/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
-- 
2.6.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-10-14 11:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-13 12:30 [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm Martin Jansa
2015-05-14 10:48 ` Richard Purdie
2015-05-14 11:40   ` Martin Jansa
2015-10-09 15:11     ` [PATCH] webkitgtk, gcr, libsecret: force ARM mode Martin Jansa
2015-10-10 12:13       ` Carlos Alberto Lopez Perez
2015-10-10 15:32         ` Martin Jansa
2015-10-10 21:45           ` Carlos Alberto Lopez Perez
2015-10-10 21:59             ` Khem Raj
2015-10-12  8:03             ` Martin Jansa
2015-10-12 11:17             ` Alexander Kanavin
2015-10-12 22:26               ` Carlos Alberto Lopez Perez
2015-10-10 19:15         ` Khem Raj
2015-10-11  9:51       ` Phil Blundell
2015-10-12 16:21         ` Burton, Ross
2015-10-14 11:22 ` [PATCH] guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm Martin Jansa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.