diff mbox series

[08/21] gnu-efi: upgrade 3.0.15 -> 3.0.17

Message ID 20230727143627.3718496-8-alex@linutronix.de
State Accepted, archived
Commit b4b94acef1e2c5e5f1185ae165969c8a66038b17
Headers show
Series [01/21] meta: add missing summaries for image recipes | expand

Commit Message

Alexander Kanavin July 27, 2023, 2:36 p.m. UTC
Unset LDFLAGS as the standard ones do not work when linking EFI binaries
(the new version of gnu-efi adds various apps).

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../gnu-efi/{gnu-efi_3.0.15.bb => gnu-efi_3.0.17.bb}      | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
 rename meta/recipes-bsp/gnu-efi/{gnu-efi_3.0.15.bb => gnu-efi_3.0.17.bb} (93%)

Comments

Khem Raj July 27, 2023, 4:09 p.m. UTC | #1
On 7/27/23 7:36 AM, Alexander Kanavin wrote:
> Unset LDFLAGS as the standard ones do not work when linking EFI binaries
> (the new version of gnu-efi adds various apps).
> 

curious about which ldflags are problematic from OE env.

> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>   .../gnu-efi/{gnu-efi_3.0.15.bb => gnu-efi_3.0.17.bb}      | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>   rename meta/recipes-bsp/gnu-efi/{gnu-efi_3.0.15.bb => gnu-efi_3.0.17.bb} (93%)
> 
> diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
> similarity index 93%
> rename from meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
> rename to meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
> index 5ae6f391ae9..547c469d19f 100644
> --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
> +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
> @@ -17,7 +17,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
>              file://gnu-efi-3.0.9-fix-clang-build.patch \
>              "
>   
> -SRC_URI[sha256sum] = "931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea"
> +SRC_URI[sha256sum] = "7807e903349343a7a142ebb934703a2872235e89688cf586c032b0a1087bcaf4"
>   
>   COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
>   COMPATIBLE_HOST:armv4 = 'null'
> @@ -34,6 +34,10 @@ def gnu_efi_arch(d):
>           return "ia32"
>       return tarch
>   
> +do_compile:prepend() {
> +    unset LDFLAGS
> +}
> +
>   EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
>                   'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
>                   "
> @@ -46,7 +50,7 @@ do_install() {
>           oe_runmake install INSTALLROOT="${D}"
>   }
>   
> -FILES:${PN} += "${libdir}/*.lds"
> +FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"

Do you think if there is any positives of these be packaged separately?

>   
>   # 64-bit binaries are expected for EFI when targeting X32
>   INSANE_SKIP:${PN}-dev:append:linux-gnux32 = " arch"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184948): https://lists.openembedded.org/g/openembedded-core/message/184948
> Mute This Topic: https://lists.openembedded.org/mt/100391609/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin July 28, 2023, 10:57 a.m. UTC | #2
On Thu, 27 Jul 2023 at 18:09, Khem Raj <raj.khem@gmail.com> wrote:
>
> On 7/27/23 7:36 AM, Alexander Kanavin wrote:
> > Unset LDFLAGS as the standard ones do not work when linking EFI binaries
> > (the new version of gnu-efi adds various apps).
> >
>
> curious about which ldflags are problematic from OE env.

| x86_64-poky-linux-ld
--sysroot=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot
  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map
-fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
 -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
 -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
 -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
 -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
 -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
 -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot-native=
 -Wl,-z,relro,-z,now -nostdlib --warn-common --no-undefined
--fatal-warnings --build-id=sha1 -nostdlib --warn-common
--no-undefined --fatal-warnings --build-id=sha1 -shared -Bsymbolic
-L../lib -L../gnuefi ../gnuefi/crt0-efi-x86_64.o ctors_test.o
ctors_fns.o -o ctors_test.so -lefi -lgnuefi
/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot/usr/lib/../lib/x86_64-poky-linux/13.1.1/libgcc.a
-T /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17//apps/../gnuefi/elf_x86_64_efi.lds
| x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'
| x86_64-poky-linux-ld: use the --help option for usage information


> > -FILES:${PN} += "${libdir}/*.lds"
> > +FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"
>
> Do you think if there is any positives of these be packaged separately?

Not really. gnu-efi is a static library that consumers (e.g.
systemd-boot) link with at build time, so the main package has nothing
other than these apps, and one small .lds file. If there's a better
way, it should be done by someone who's an expert in it.

Alex
Khem Raj July 28, 2023, 2:44 p.m. UTC | #3
On Fri, Jul 28, 2023 at 3:57 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Thu, 27 Jul 2023 at 18:09, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > On 7/27/23 7:36 AM, Alexander Kanavin wrote:
> > > Unset LDFLAGS as the standard ones do not work when linking EFI binaries
> > > (the new version of gnu-efi adds various apps).
> > >
> >
> > curious about which ldflags are problematic from OE env.
>
> | x86_64-poky-linux-ld
> --sysroot=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot
>   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map
> -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
>  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
>  -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
>  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
>  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
>  -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
>  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot-native=
>  -Wl,-z,relro,-z,now -nostdlib --warn-common --no-undefined
> --fatal-warnings --build-id=sha1 -nostdlib --warn-common
> --no-undefined --fatal-warnings --build-id=sha1 -shared -Bsymbolic
> -L../lib -L../gnuefi ../gnuefi/crt0-efi-x86_64.o ctors_test.o
> ctors_fns.o -o ctors_test.so -lefi -lgnuefi
> /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot/usr/lib/../lib/x86_64-poky-linux/13.1.1/libgcc.a
> -T /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17//apps/../gnuefi/elf_x86_64_efi.lds
> | x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'
> | x86_64-poky-linux-ld: use the --help option for usage information
>

I see, OE LDFLAGS assume compiler driver to call linker and thats why
bunch of -Wl, options are used but here, bare ld is called. Does it
make sense to use CCLD
as linker instead of bare LD in these makefiles. Some options like
prefix map etc might be useful for removing build time paths and
hash-style is also important one.

>
> > > -FILES:${PN} += "${libdir}/*.lds"
> > > +FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"
> >
> > Do you think if there is any positives of these be packaged separately?
>
> Not really. gnu-efi is a static library that consumers (e.g.
> systemd-boot) link with at build time, so the main package has nothing
> other than these apps, and one small .lds file. If there's a better
> way, it should be done by someone who's an expert in it.
>
> Alex
Alexander Kanavin July 28, 2023, 2:47 p.m. UTC | #4
Maybe. My goal is only to update the version; if you can experiment
with CCLD vs LD and send a followup I'd appreaciate. (I don't even
know what the difference is). The update passed a-full, so it doesn't
cause obvious problems at least.

Alex

On Fri, 28 Jul 2023 at 16:44, Khem Raj <raj.khem@gmail.com> wrote:
>
> On Fri, Jul 28, 2023 at 3:57 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Thu, 27 Jul 2023 at 18:09, Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > On 7/27/23 7:36 AM, Alexander Kanavin wrote:
> > > > Unset LDFLAGS as the standard ones do not work when linking EFI binaries
> > > > (the new version of gnu-efi adds various apps).
> > > >
> > >
> > > curious about which ldflags are problematic from OE env.
> >
> > | x86_64-poky-linux-ld
> > --sysroot=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot
> >   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map
> > -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> >  -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
> >  -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
> >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot-native=
> >  -Wl,-z,relro,-z,now -nostdlib --warn-common --no-undefined
> > --fatal-warnings --build-id=sha1 -nostdlib --warn-common
> > --no-undefined --fatal-warnings --build-id=sha1 -shared -Bsymbolic
> > -L../lib -L../gnuefi ../gnuefi/crt0-efi-x86_64.o ctors_test.o
> > ctors_fns.o -o ctors_test.so -lefi -lgnuefi
> > /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot/usr/lib/../lib/x86_64-poky-linux/13.1.1/libgcc.a
> > -T /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17//apps/../gnuefi/elf_x86_64_efi.lds
> > | x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'
> > | x86_64-poky-linux-ld: use the --help option for usage information
> >
>
> I see, OE LDFLAGS assume compiler driver to call linker and thats why
> bunch of -Wl, options are used but here, bare ld is called. Does it
> make sense to use CCLD
> as linker instead of bare LD in these makefiles. Some options like
> prefix map etc might be useful for removing build time paths and
> hash-style is also important one.
>
> >
> > > > -FILES:${PN} += "${libdir}/*.lds"
> > > > +FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"
> > >
> > > Do you think if there is any positives of these be packaged separately?
> >
> > Not really. gnu-efi is a static library that consumers (e.g.
> > systemd-boot) link with at build time, so the main package has nothing
> > other than these apps, and one small .lds file. If there's a better
> > way, it should be done by someone who's an expert in it.
> >
> > Alex
Khem Raj July 28, 2023, 2:48 p.m. UTC | #5
On Fri, Jul 28, 2023 at 7:47 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Maybe. My goal is only to update the version; if you can experiment
> with CCLD vs LD and send a followup I'd appreaciate. (I don't even
> know what the difference is). The update passed a-full, so it doesn't
> cause obvious problems at least.

yeah, something that should be discussed upstream first perhaps.
>
> Alex
>
> On Fri, 28 Jul 2023 at 16:44, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > On Fri, Jul 28, 2023 at 3:57 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > On Thu, 27 Jul 2023 at 18:09, Khem Raj <raj.khem@gmail.com> wrote:
> > > >
> > > > On 7/27/23 7:36 AM, Alexander Kanavin wrote:
> > > > > Unset LDFLAGS as the standard ones do not work when linking EFI binaries
> > > > > (the new version of gnu-efi adds various apps).
> > > > >
> > > >
> > > > curious about which ldflags are problematic from OE env.
> > >
> > > | x86_64-poky-linux-ld
> > > --sysroot=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot
> > >   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map
> > > -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> > >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> > >  -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> > >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17=/usr/src/debug/gnu-efi/3.0.17-r0
> > >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
> > >  -fmacro-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot=
> > >  -fdebug-prefix-map=/srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot-native=
> > >  -Wl,-z,relro,-z,now -nostdlib --warn-common --no-undefined
> > > --fatal-warnings --build-id=sha1 -nostdlib --warn-common
> > > --no-undefined --fatal-warnings --build-id=sha1 -shared -Bsymbolic
> > > -L../lib -L../gnuefi ../gnuefi/crt0-efi-x86_64.o ctors_test.o
> > > ctors_fns.o -o ctors_test.so -lefi -lgnuefi
> > > /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/recipe-sysroot/usr/lib/../lib/x86_64-poky-linux/13.1.1/libgcc.a
> > > -T /srv/storage/alex/yocto/build-64-alt/tmp/work/core2-64-poky-linux/gnu-efi/3.0.17-r0/gnu-efi-3.0.17//apps/../gnuefi/elf_x86_64_efi.lds
> > > | x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'
> > > | x86_64-poky-linux-ld: use the --help option for usage information
> > >
> >
> > I see, OE LDFLAGS assume compiler driver to call linker and thats why
> > bunch of -Wl, options are used but here, bare ld is called. Does it
> > make sense to use CCLD
> > as linker instead of bare LD in these makefiles. Some options like
> > prefix map etc might be useful for removing build time paths and
> > hash-style is also important one.
> >
> > >
> > > > > -FILES:${PN} += "${libdir}/*.lds"
> > > > > +FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"
> > > >
> > > > Do you think if there is any positives of these be packaged separately?
> > >
> > > Not really. gnu-efi is a static library that consumers (e.g.
> > > systemd-boot) link with at build time, so the main package has nothing
> > > other than these apps, and one small .lds file. If there's a better
> > > way, it should be done by someone who's an expert in it.
> > >
> > > Alex
diff mbox series

Patch

diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
similarity index 93%
rename from meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
rename to meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
index 5ae6f391ae9..547c469d19f 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
@@ -17,7 +17,7 @@  SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
            file://gnu-efi-3.0.9-fix-clang-build.patch \
            "
 
-SRC_URI[sha256sum] = "931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea"
+SRC_URI[sha256sum] = "7807e903349343a7a142ebb934703a2872235e89688cf586c032b0a1087bcaf4"
 
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
 COMPATIBLE_HOST:armv4 = 'null'
@@ -34,6 +34,10 @@  def gnu_efi_arch(d):
         return "ia32"
     return tarch
 
+do_compile:prepend() {
+    unset LDFLAGS
+}
+
 EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
                 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
                 "
@@ -46,7 +50,7 @@  do_install() {
         oe_runmake install INSTALLROOT="${D}"
 }
 
-FILES:${PN} += "${libdir}/*.lds"
+FILES:${PN} += "${libdir}/*.lds ${libdir}/gnuefi/apps"
 
 # 64-bit binaries are expected for EFI when targeting X32
 INSANE_SKIP:${PN}-dev:append:linux-gnux32 = " arch"