[OE-core] [PATCH V2] openssl: fix ptest case `test_symbol_presence' failed

Hongxu Jia hongxu.jia at windriver.com
Mon Oct 1 15:47:51 UTC 2018


Sorry for missing V2 in subject

//Hongxu

On 2018年10月01日 23:47, Hongxu Jia wrote:
> The case in ptest use `nm -Pg libcrypto.so' to check symbol presence,
> if library is stripped or debug split, the case will fail.
>
> The dbg library keeps symbol table, so tweak to check on it.
>
> Use wildcard `libcrypto.so*' rather than `libcrypto.so.1.1' to compat
> the subsequent version upgrade.
>
> The binutils provides `nm', hence add it to ptest runtime depends.
> (Without `nm', the test_symbol_presence will be skipped, that's the
> reason why ptest passed on a small image, and failed on a full image)
>
> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> ---
>   ...test_symbol_presence-check-on-dbg-library.patch | 36 ++++++++++++++++++++++
>   meta/recipes-connectivity/openssl/openssl_1.1.1.bb |  6 ++++
>   2 files changed, 42 insertions(+)
>   create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch
>
> diff --git a/meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch b/meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch
> new file mode 100644
> index 0000000..3999aa0
> --- /dev/null
> +++ b/meta/recipes-connectivity/openssl/openssl/0001-test_symbol_presence-check-on-dbg-library.patch
> @@ -0,0 +1,36 @@
> +From 2766dc8af70ced2854a6817e67cbac234c99f91f Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia <hongxu.jia at windriver.com>
> +Date: Mon, 1 Oct 2018 22:16:53 +0800
> +Subject: [PATCH] test_symbol_presence: check on dbg library
> +
> +The case uses `nm -Pg libcrypto.so' to check symbol presence,
> +if library is stripped or debug splited, the case will fail.
> +
> +The dbg library has the symbol table, so tweak to check on it.
> +
> +Use wildcard `libcrypto.so*' rather than `libcrypto.so.1.1' to compat
> +the subsequent version upgrade.
> +
> +Upstream-Status: Inappropriate [OE Specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + test/recipes/01-test_symbol_presence.t | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t
> +index 7f2a2d7..1668cde 100644
> +--- a/test/recipes/01-test_symbol_presence.t
> ++++ b/test/recipes/01-test_symbol_presence.t
> +@@ -32,7 +32,7 @@ note
> + foreach my $libname (@libnames) {
> +  SKIP:
> +     {
> +-        my $shlibpath = bldtop_file("lib" . $libname . ".so");
> ++        my $shlibpath = bldtop_file(".debug/" . "lib" . $libname . ".so*");
> +         *OSTDERR = *STDERR;
> +         *OSTDOUT = *STDOUT;
> +         open STDERR, ">", devnull();
> +--
> +2.7.4
> +
> diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1.bb
> index 73bcb27..74b3417 100644
> --- a/meta/recipes-connectivity/openssl/openssl_1.1.1.bb
> +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1.bb
> @@ -13,6 +13,7 @@ DEPENDS = "hostperl-runtime-native"
>   SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
>              file://run-ptest \
>              file://openssl-c_rehash.sh \
> +           file://0001-test_symbol_presence-check-on-dbg-library.patch \
>              "
>   
>   SRC_URI_append_class-nativesdk = " \
> @@ -174,6 +175,11 @@ RRECOMMENDS_libcrypto += "openssl-conf"
>   RDEPENDS_${PN}-bin = "perl"
>   RDEPENDS_${PN}-misc = "perl"
>   RDEPENDS_${PN}-ptest += "perl-module-file-spec-functions bash python"
> +# The ptest case uses `nm -Pg .debug/libcrypto.so*' to check symbol presence
> +RDEPENDS_${PN}-ptest += "${PN}-dbg"
> +INSANE_SKIP_${PN}-ptest ?= "debug-deps"
> +# The binutils provides `nm'
> +RDEPENDS_${PN}-ptest += "binutils"
>   
>   RPROVIDES_openssl-conf = "openssl10-conf"
>   RREPLACES_openssl-conf = "openssl10-conf"





More information about the Openembedded-core mailing list