@@ -56,7 +56,7 @@ TEST_LIST = "\
EXTRA_OEMAKE = '\
CROSS_COMPILE=${TARGET_PREFIX} \
ARCH=${ARCH} \
- CC="${CC}" \
+ CC="${CC} ${DEBUG_PREFIX_MAP}" \
AR="${AR}" \
LD="${LD}" \
CLANG="clang -fno-stack-protector -target ${TARGET_ARCH} ${TOOLCHAIN_OPTIONS} -isystem ${S} -D__WORDSIZE=\'64\' -Wno-error=unused-command-line-argument" \
@@ -97,25 +97,13 @@ either install it and add it to HOSTTOOLS, or add clang-native from meta-clang t
sed -i -e '/mrecord-mcount/d' ${S}/Makefile
sed -i -e '/Wno-alloc-size-larger-than/d' ${S}/Makefile
sed -i -e '/Wno-alloc-size-larger-than/d' ${S}/scripts/Makefile.*
- for i in ${TEST_LIST}
- do
- oe_runmake -C ${S}/tools/testing/selftests/${i}
- done
+ oe_runmake -C ${S}/tools/testing/selftests TARGETS="${TEST_LIST}"
}
do_install() {
- for i in ${TEST_LIST}
- do
- oe_runmake -C ${S}/tools/testing/selftests/${i} INSTALL_PATH=${D}/usr/kernel-selftest/${i} install
- # Install kselftest-list.txt that required by kselftest runner.
- oe_runmake -s --no-print-directory COLLECTION=${i} -C ${S}/tools/testing/selftests/${i} emit_tests \
- >> ${D}/usr/kernel-selftest/kselftest-list.txt
- done
- # Install kselftest runner.
- install -m 0755 ${S}/tools/testing/selftests/run_kselftest.sh ${D}/usr/kernel-selftest/
- cp -R --no-dereference --preserve=mode,links -v ${S}/tools/testing/selftests/kselftest ${D}/usr/kernel-selftest/
+ oe_runmake -C ${S}/tools/testing/selftests INSTALL_PATH=${D}/usr/kernel-selftest TARGETS="${TEST_LIST}" install
if [ -e ${D}/usr/kernel-selftest/bpf/test_offload.py ]; then
- sed -i -e '1s,#!.*python3,#! /usr/bin/env python3,' ${D}/usr/kernel-selftest/bpf/test_offload.py
+ sed -i -e '1s,#!.*python3,#! /usr/bin/env python3,' ${D}/usr/kernel-selftest/bpf/test_offload.py
fi
chown root:root -R ${D}/usr/kernel-selftest
}
@@ -161,6 +149,12 @@ RDEPENDS:${PN} += "python3 perl perl-module-io-handle"
INSANE_SKIP:${PN} += "libdir"
+# A few of the selftests set compile flags that trip up the "ldflags" and
+# "already-stripped" QA checks. As this is mainly a testing package and
+# not really meant for user level execution, disable these two checks.
+INSANE_SKIP:${PN} += "ldflags"
+INSANE_SKIP:${PN} += "already-stripped"
+
SECURITY_CFLAGS = ""
COMPATIBLE_HOST:libc-musl = 'null'