[Buildroot] [PATCH/master 0/7] Qemu and gobject-introspection fixes

Adam Duskett aduskett at gmail.com
Thu Sep 2 16:47:12 UTC 2021


From: Adam Duskett <aduskett at gmail.com>

First of all, sorry this took so long!

This series is an accumulation of several conversations between Thomas, Yann,
and myself. The basics are this:

- GOI fails to build with the corei7 architecture because calling qemu results
  in qemu trying to use instructions that may not exist on the host processor.
  This causes a core dump.

- OpenEmbedded gets around this issue by adding options to qemu on certain
  CPU and architecture combinations, Corei7 being one of those architectures.

- As discussed with Thomas, a new string "BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS"
  in qemu/Config.in.host is added, which we then sed to g-ir-scanner.in.

In addition, I was anonyed that there were so many shellcheck issues with the
various wrappers, and Yann was annoyed that the wrappers were calling to bash
when they didn't need to do so, so those are also fixed in this patch series.

And last (but not least), Yann noticed a latent bug in g-ir-scanner-qemuwrapper.
If GIR_EXTRA_LIBS_PATH is empty, then the LD_LIBRARY_PATH is prepended with a
colon, so that is also fixed.

This will lead the way to NodeJS 14 which is one step closer to removing
Python2!

Tested in a CentOS7 docker container:
                     andes-nds32 [ 1/45]: SKIPPED
                     arm-aarch64 [ 2/45]: OK
           bootlin-aarch64-glibc [ 3/45]: OK
       bootlin-arcle-hs38-uclibc [ 4/45]: SKIPPED
            bootlin-armv5-uclibc [ 5/45]: SKIPPED
             bootlin-armv7-glibc [ 6/45]: OK
           bootlin-armv7m-uclibc [ 7/45]: SKIPPED
              bootlin-armv7-musl [ 8/45]: SKIPPED
        bootlin-m68k-5208-uclibc [ 9/45]: SKIPPED
       bootlin-m68k-68040-uclibc [10/45]: SKIPPED
     bootlin-microblazeel-uclibc [11/45]: SKIPPED
        bootlin-mipsel32r6-glibc [12/45]: OK
           bootlin-mipsel-uclibc [13/45]: SKIPPED
             bootlin-nios2-glibc [14/45]: OK
         bootlin-openrisc-uclibc [15/45]: SKIPPED
bootlin-powerpc64le-power8-glibc [16/45]: OK
   bootlin-powerpc-e500mc-uclibc [17/45]: SKIPPED
           bootlin-riscv32-glibc [18/45]: OK
           bootlin-riscv64-glibc [19/45]: OK
            bootlin-riscv64-musl [20/45]: SKIPPED
              bootlin-sh4-uclibc [21/45]: SKIPPED
           bootlin-sparc64-glibc [22/45]: OK
            bootlin-sparc-uclibc [23/45]: SKIPPED
            bootlin-x86-64-glibc [24/45]: OK
             bootlin-x86-64-musl [25/45]: SKIPPED
           bootlin-x86-64-uclibc [26/45]: SKIPPED
           bootlin-xtensa-uclibc [27/45]: SKIPPED
                    br-arm-basic [28/45]: SKIPPED
            br-arm-full-nothread [29/45]: SKIPPED
              br-arm-full-static [30/45]: SKIPPED
           br-i386-pentium4-full [31/45]: SKIPPED
        br-i386-pentium-mmx-musl [32/45]: SKIPPED
              br-mips64-n64-full [33/45]: SKIPPED
         br-mips64r6-el-hf-glibc [34/45]: SKIPPED
       br-powerpc-603e-basic-cpp [35/45]: SKIPPED
       br-powerpc64-power7-glibc [36/45]: OK
               linaro-aarch64-be [37/45]: SKIPPED
                  linaro-aarch64 [38/45]: OK
                      linaro-arm [39/45]: OK
             sourcery-arm-armv4t [40/45]: SKIPPED
                    sourcery-arm [41/45]: SKIPPED
             sourcery-arm-thumb2 [42/45]: SKIPPED
                 sourcery-mips64 [43/45]: SKIPPED
                   sourcery-mips [44/45]: OK
                  sourcery-nios2 [45/45]: OK


Adam Duskett (7):
  g-ir-scanner-qemuwrapper.in: Fix latent bug in LD_LIBRARY_PATH string
  g-ir-scanner-qemuwrapper.in: Fix shellcheck warnings, switch to sh
  g-ir-scanner.in: Fix shellcheck warnings, switch to sh
  g-ir-scanner-lddwrapper.in: Fix shellcheck warnings, switch to sh
  g-ir-compiler.in: Fix shellcheck warnings, switch to sh
  package/qemu: add BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS string
  package/gobject-introspection: Add QEMU_USERMODE_ARGS support

 .../gobject-introspection/g-ir-compiler.in    |  4 ++--
 .../g-ir-scanner-lddwrapper.in                |  4 ++--
 .../g-ir-scanner-qemuwrapper.in               | 19 ++++++++++++-------
 package/gobject-introspection/g-ir-scanner.in | 12 ++++++------
 .../gobject-introspection.mk                  |  2 ++
 package/qemu/Config.in.host                   |  4 ++++
 6 files changed, 28 insertions(+), 17 deletions(-)

-- 
2.30.2



More information about the buildroot mailing list