diff --git a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2-samples.inc b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2-samples.inc index fd94e7562..9b7f57acd 100644 --- a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2-samples.inc +++ b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2-samples.inc @@ -34,3 +34,10 @@ SOLIBS = "*.so" FILES_SOLIBSDEV = "" BBCLASSEXTEND = "native nativesdk" + +# -fsanitize=address does cause this +# nooelint: oelint.vars.insaneskip:INSANE_SKIP +INSANE_SKIP += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', 'buildpaths', '', d)}" + +PACKAGECONFIG[sanitize] = ",, gcc-sanitizers" +OECMAKE_CXX_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', '-fsanitize=address,undefined -fno-omit-frame-pointer', '', d)}" diff --git a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/openssl_suppressions.txt b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/openssl_suppressions.txt new file mode 100644 index 000000000..e4e4d3fce --- /dev/null +++ b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/openssl_suppressions.txt @@ -0,0 +1,2 @@ +# Suppress OpenSSL CRYPTO_malloc leaks +leak:CRYPTO_malloc diff --git a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/run-ptest b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/run-ptest index c0f703b27..a78a3a018 100644 --- a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/run-ptest +++ b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2/run-ptest @@ -2,7 +2,7 @@ export LD_PRELOAD=$(find /usr/lib /lib -type f -name "libasan.so*") -mqtt5_pubsub --help +LSAN_OPTIONS=suppressions=openssl_suppressions.txt mqtt5_pubsub --help RETVAL=$? if [ $RETVAL -eq 255 ] ; then echo "PASS: aws-iot-device-sdk-cpp-v2-sample-mqtt5_pubsub help test" diff --git a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2_1.35.0.bb b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2_1.35.0.bb index 07741bdd5..61ae153fd 100644 --- a/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2_1.35.0.bb +++ b/recipes-sdk/aws-iot-device-sdk-cpp-v2/aws-iot-device-sdk-cpp-v2_1.35.0.bb @@ -13,6 +13,7 @@ require aws-iot-device-sdk-cpp-v2-version.inc SRC_URI:append = " \ file://run-ptest \ + file://openssl_suppressions.txt \ " S = "${WORKDIR}/git" @@ -41,7 +42,7 @@ PACKAGECONFIG ??= "\ ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)} \ " PACKAGECONFIG[with-tests] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF," -#TODO PACKAGECONFIG:append:x86-64 = " ${@bb.utils.contains('PTEST_ENABLED', '1', 'sanitize', '', d)}" +PACKAGECONFIG:append:x86-64 = " ${@bb.utils.contains('PTEST_ENABLED', '1', 'sanitize', '', d)}" FILES:${PN}-dev += "${libdir}/*/cmake" @@ -53,9 +54,15 @@ BBCLASSEXTEND = "native nativesdk" EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=RelWithDebInfo" -#TODO # -fsanitize=address does cause this -#TODO # nooelint: oelint.vars.insaneskip:INSANE_SKIP -#TODO INSANE_SKIP += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', 'buildpaths', '', d)}" +# -fsanitize=address does cause this +# nooelint: oelint.vars.insaneskip:INSANE_SKIP +INSANE_SKIP += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', 'buildpaths', '', d)}" -#TODO PACKAGECONFIG[sanitize] = ",, gcc-sanitizers" -#TODO OECMAKE_CXX_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', '-fsanitize=address,undefined -fno-omit-frame-pointer', '', d)}" +PACKAGECONFIG[sanitize] = ",, gcc-sanitizers" +OECMAKE_CXX_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', '-fsanitize=address,undefined -fno-omit-frame-pointer', '', d)}" + +do_install_ptest:append() { + install -d ${D}${PTEST_PATH}/tests + + install ${UNPACKDIR}/openssl_suppressions.txt ${D}${PTEST_PATH}/ +}