* [meta-oe][PATCH] multipath-tools: fix ARM build failure
@ 2017-02-16 10:29 Patrick Ohly
2017-02-16 10:42 ` Andre McCurdy
2017-02-17 13:14 ` [meta-oe][PATCH v2] " Patrick Ohly
0 siblings, 2 replies; 4+ messages in thread
From: Patrick Ohly @ 2017-02-16 10:29 UTC (permalink / raw)
To: openembedded-devel
Updating to 0.6.4 introduced a build failure on ARM when thumb was
enabled because of the embedded valgrind.h macro calls. The easiest
solution and thus the one used here is to disable thumb for this
particular recipe.
The more elaborate solution would be to patch the macro calls out of
the code when compiling for ARM with thumb.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
---
meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb | 9 +++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
index 6706bec..a3b33b6 100644
--- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
+++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
@@ -27,6 +27,13 @@ PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}"
TARGET_CC_ARCH += "${LDFLAGS}"
+# multipath-tools includes a copy of the valgrind.h header
+# file and uses the macros to suppress some false positives. However,
+# that only works on ARM when thumb is disabled. Otherwise one gets:
+# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
+# ../Makefile.inc:66: recipe for target 'debug.o' failed
+ARM_INSTRUCTION_SET = "arm"
+
# The exact version of SYSTEMD does not matter but should be greater than 209.
#
EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
@@ -59,5 +66,3 @@ FILES_kpartx = "${base_sbindir}/kpartx \
"
RDEPENDS_${PN} += "kpartx"
-
-PNBLACKLIST[multipath-tools] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130529/"
base-commit: 044e5189549de11b2a94efd29a6009a76162b8f1
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [meta-oe][PATCH] multipath-tools: fix ARM build failure
2017-02-16 10:29 [meta-oe][PATCH] multipath-tools: fix ARM build failure Patrick Ohly
@ 2017-02-16 10:42 ` Andre McCurdy
2017-02-17 12:22 ` Patrick Ohly
2017-02-17 13:14 ` [meta-oe][PATCH v2] " Patrick Ohly
1 sibling, 1 reply; 4+ messages in thread
From: Andre McCurdy @ 2017-02-16 10:42 UTC (permalink / raw)
To: openembeded-devel
On Thu, Feb 16, 2017 at 2:29 AM, Patrick Ohly <patrick.ohly@intel.com> wrote:
> Updating to 0.6.4 introduced a build failure on ARM when thumb was
> enabled because of the embedded valgrind.h macro calls. The easiest
> solution and thus the one used here is to disable thumb for this
> particular recipe.
>
> The more elaborate solution would be to patch the macro calls out of
> the code when compiling for ARM with thumb.
>
> Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
> ---
> meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb | 9 +++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
> index 6706bec..a3b33b6 100644
> --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
> +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
> @@ -27,6 +27,13 @@ PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}"
>
> TARGET_CC_ARCH += "${LDFLAGS}"
>
> +# multipath-tools includes a copy of the valgrind.h header
> +# file and uses the macros to suppress some false positives. However,
> +# that only works on ARM when thumb is disabled. Otherwise one gets:
> +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
> +# ../Makefile.inc:66: recipe for target 'debug.o' failed
> +ARM_INSTRUCTION_SET = "arm"
Since the problem is presumably Thumb1 specific, you should only force
the ARM instruction set for ARM cores which don't support Thumb2, ie
use:
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
> # The exact version of SYSTEMD does not matter but should be greater than 209.
> #
> EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
> @@ -59,5 +66,3 @@ FILES_kpartx = "${base_sbindir}/kpartx \
> "
>
> RDEPENDS_${PN} += "kpartx"
> -
> -PNBLACKLIST[multipath-tools] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130529/"
>
> base-commit: 044e5189549de11b2a94efd29a6009a76162b8f1
> --
> git-series 0.9.1
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [meta-oe][PATCH] multipath-tools: fix ARM build failure
2017-02-16 10:42 ` Andre McCurdy
@ 2017-02-17 12:22 ` Patrick Ohly
0 siblings, 0 replies; 4+ messages in thread
From: Patrick Ohly @ 2017-02-17 12:22 UTC (permalink / raw)
To: openembedded-devel
On Thu, 2017-02-16 at 02:42 -0800, Andre McCurdy wrote:
> On Thu, Feb 16, 2017 at 2:29 AM, Patrick Ohly <patrick.ohly@intel.com> wrote:
> > Updating to 0.6.4 introduced a build failure on ARM when thumb was
> > enabled because of the embedded valgrind.h macro calls. The easiest
> > solution and thus the one used here is to disable thumb for this
> > particular recipe.
> >
> > The more elaborate solution would be to patch the macro calls out of
> > the code when compiling for ARM with thumb.
> >
> > Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
> > ---
> > meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb | 9 +++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
> > index 6706bec..a3b33b6 100644
> > --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
> > +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
> > @@ -27,6 +27,13 @@ PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}"
> >
> > TARGET_CC_ARCH += "${LDFLAGS}"
> >
> > +# multipath-tools includes a copy of the valgrind.h header
> > +# file and uses the macros to suppress some false positives. However,
> > +# that only works on ARM when thumb is disabled. Otherwise one gets:
> > +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
> > +# ../Makefile.inc:66: recipe for target 'debug.o' failed
> > +ARM_INSTRUCTION_SET = "arm"
>
> Since the problem is presumably Thumb1 specific, you should only force
> the ARM instruction set for ARM cores which don't support Thumb2, ie
> use:
>
> ARM_INSTRUCTION_SET_armv4 = "arm"
> ARM_INSTRUCTION_SET_armv5 = "arm"
I'm no ARM expert, so I'm not certain which ARM cores are affected, but
I'll follow your suggestion and send a V2 of the patch.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [meta-oe][PATCH v2] multipath-tools: fix ARM build failure
2017-02-16 10:29 [meta-oe][PATCH] multipath-tools: fix ARM build failure Patrick Ohly
2017-02-16 10:42 ` Andre McCurdy
@ 2017-02-17 13:14 ` Patrick Ohly
1 sibling, 0 replies; 4+ messages in thread
From: Patrick Ohly @ 2017-02-17 13:14 UTC (permalink / raw)
To: openembedded-devel
Updating to 0.6.4 introduced a build failure on ARM when thumb was
enabled because of the embedded valgrind.h macro calls. The easiest
solution and thus the one used here is to disable thumb for this
particular recipe for affected machines.
The more elaborate solution would be to patch the macro calls out of
the code when compiling for ARM with thumb.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
---
meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb | 10 +++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
index 6706bec..effd92e 100644
--- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
+++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
@@ -27,6 +27,14 @@ PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}"
TARGET_CC_ARCH += "${LDFLAGS}"
+# multipath-tools includes a copy of the valgrind.h header
+# file and uses the macros to suppress some false positives. However,
+# that only works on ARM when thumb is disabled. Otherwise one gets:
+# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
+# ../Makefile.inc:66: recipe for target 'debug.o' failed
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
# The exact version of SYSTEMD does not matter but should be greater than 209.
#
EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
@@ -59,5 +67,3 @@ FILES_kpartx = "${base_sbindir}/kpartx \
"
RDEPENDS_${PN} += "kpartx"
-
-PNBLACKLIST[multipath-tools] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130529/"
base-commit: 044e5189549de11b2a94efd29a6009a76162b8f1
--
git-series 0.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-02-17 13:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-16 10:29 [meta-oe][PATCH] multipath-tools: fix ARM build failure Patrick Ohly
2017-02-16 10:42 ` Andre McCurdy
2017-02-17 12:22 ` Patrick Ohly
2017-02-17 13:14 ` [meta-oe][PATCH v2] " Patrick Ohly
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.