[OE-core] [PATCH] bash: Replace uninative loader path in ptest

Richard Purdie richard.purdie at linuxfoundation.org
Sat Jun 1 06:47:20 UTC 2019


On Fri, 2019-05-31 at 11:57 -0500, Joshua Watt wrote:
> The Makefile used for bash-ptest can pick up the path to the uninative
> loader through BUILD_LDFLAGS. This includes the full path to the
> uninative loader, which is not reproducible. Replace it with the target
> loader in the event that these programs need to be compiled for bash
> tests.
> 
> Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
> ---
>  meta/recipes-extended/bash/bash.inc | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
> index 4b3692c6139..55f2b7704e6 100644
> --- a/meta/recipes-extended/bash/bash.inc
> +++ b/meta/recipes-extended/bash/bash.inc
> @@ -4,7 +4,7 @@ SECTION = "base/shell"
>  
>  DEPENDS = "ncurses bison-native virtual/libiconv"
>  
> -inherit autotools gettext texinfo update-alternatives ptest
> +inherit autotools gettext texinfo update-alternatives ptest linuxloader
>  
>  EXTRA_AUTORECONF += "--exclude=autoheader --exclude=aclocal"
>  EXTRA_OECONF = "--enable-job-control --without-bash-malloc bash_cv_wexitstatus_offset=8"
> @@ -70,6 +70,7 @@ do_install_ptest () {
>  	    -e 's|${DEBUG_PREFIX_MAP}||g' \
>  	    -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
>  	    -e 's:${HOSTTOOLS_DIR}/::g' \
> +	    -e 's:${UNINATIVE_LOADER}:${@get_linuxloader(d)}:g' \
>  	     ${D}${PTEST_PATH}/Makefile
>  }

This change causes:

https://autobuilder.yoctoproject.org/typhoon/#/builders/56/builds/490

which you can reproduce with:

oe-selftest -r sstatetests.SStateTests.test_sstate_32_64_same_hash

which with some digging you can come to:

$ bitbake-diffsigs tmp-sstatesamehash*/stamps/*-poky-linux/bash/*.do_install_ptest_base.sigdata.*
NOTE: Starting bitbake server...
basehash changed from d92c4da62ccda424103c7615dffc5f747da83bf64a46be63acc11633480a6bf6 to a26822f4999a6bdbe8e8e60db91c1400e2b4011b66d98a9ec57a53d6fc70dc88
Variable UNINATIVE_LOADER value changed:
@@ -1,4 +1,4 @@
 ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}
 BUILD_ARCH{aarch64} = Unset
-BUILD_ARCH{i686} = Set
-BUILD_ARCH{x86_64} = Unset
+BUILD_ARCH{i686} = Unset
+BUILD_ARCH{x86_64} = Set

which makes the problem fairly obvious when you see it put that way...

Cheers,

Richard





More information about the Openembedded-core mailing list