diff options
Diffstat (limited to 'meta-oe/recipes-test')
43 files changed, 1010 insertions, 637 deletions
diff --git a/meta-oe/recipes-test/bats/bats_1.11.0.bb b/meta-oe/recipes-test/bats/bats_1.11.0.bb new file mode 100644 index 0000000000..f0615f7b79 --- /dev/null +++ b/meta-oe/recipes-test/bats/bats_1.11.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Bash Automated Testing System" +DESCRIPTION = "Bats is a TAP-compliant testing framework for Bash. It \ +provides a simple way to verify that the UNIX programs you write behave as expected." +HOMEPAGE = "https://github.com/bats-core/bats-core" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b" + +SRC_URI = "\ + git://github.com/bats-core/bats-core.git;branch=master;protocol=https \ + " + +# v1.10.0 +SRCREV = "7531b575bb81487553553aecb654c41b237ae96c" + +S = "${WORKDIR}/git" + +# Numerous scripts assume ${baselib} == lib, which is not true. +# +do_configure:prepend() { + for f in ${S}/libexec/bats-core/* ${S}/lib/bats-core/* ; do + sed -i 's:\$BATS_ROOT/lib/:\$BATS_ROOT/${baselib}/:g' $f + done +} + +do_install() { + # Just a bunch of bash scripts to install + ${S}/install.sh ${D}${prefix} ${baselib} +} + +RDEPENDS:${PN} = "bash" +FILES:${PN} += "${libdir}/bats-core/*" + +PACKAGECONFIG ??= "pretty" +PACKAGECONFIG[pretty] = ",,,ncurses" diff --git a/meta-oe/recipes-test/catch2/catch2_2.6.1.bb b/meta-oe/recipes-test/catch2/catch2_2.13.10.bb index 08d6616401..8512a0f30a 100644 --- a/meta-oe/recipes-test/catch2/catch2_2.6.1.bb +++ b/meta-oe/recipes-test/catch2/catch2_2.13.10.bb @@ -1,25 +1,21 @@ DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \ TDD and BDD - using C++11, C++14, C++17 and later." -AUTHOR = "Phil Nash, Martin Horenovsky and others" HOMEPAGE = "https://github.com/catchorg/Catch2" LICENSE = "BSL-1.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" -SRC_URI = "git://github.com/catchorg/Catch2.git \ - file://0001-Fix-Wdefaulted-function-deleted-warning.patch \ - " -# v2.6.1 -SRCREV = "dbbab8727c342733f75045483048cdcb52421e32" +SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x;protocol=https" +SRCREV = "182c910b4b63ff587a3440e08f84f70497e49a81" S = "${WORKDIR}/git" inherit cmake python3native -do_install_append() { +do_install:append() { rm ${D}${datadir}/Catch2/lldbinit rm ${D}${datadir}/Catch2/gdbinit rmdir ${D}${datadir}/Catch2/ } # Header-only library -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch b/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch deleted file mode 100644 index 555c71ad22..0000000000 --- a/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a39e0eaa8318335260967ffd1d16388eb5a1d6d8 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 12 Feb 2019 12:57:00 -0800 -Subject: [PATCH] Fix -Wdefaulted-function-deleted warning - -Clang8 warns - -catch_interfaces_reporter.h:84:25: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted] -| AssertionStats& operator = ( AssertionStats && ) = default; -| ^ - -Upstream-Status: Submitted [https://github.com/catchorg/Catch2/pull/1537] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - include/internal/catch_interfaces_reporter.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/internal/catch_interfaces_reporter.h b/include/internal/catch_interfaces_reporter.h -index 9d99c981..e5fbf8bb 100644 ---- a/include/internal/catch_interfaces_reporter.h -+++ b/include/internal/catch_interfaces_reporter.h -@@ -80,8 +80,8 @@ namespace Catch { - - AssertionStats( AssertionStats const& ) = default; - AssertionStats( AssertionStats && ) = default; -- AssertionStats& operator = ( AssertionStats const& ) = default; -- AssertionStats& operator = ( AssertionStats && ) = default; -+ AssertionStats& operator = ( AssertionStats const& ) = delete; -+ AssertionStats& operator = ( AssertionStats && ) = delete; - virtual ~AssertionStats(); - - AssertionResult assertionResult; --- -2.20.1 - diff --git a/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb b/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb new file mode 100644 index 0000000000..6c94e9e275 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb @@ -0,0 +1,43 @@ +DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \ +objects. It only requires the standard C library, works on a range of computing \ +platforms (including embedded) and with different compilers." +HOMEPAGE = "https://cmocka.org/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "a01cc69ee9536f90e57c61a198f2d1944d3d4313" +PV .= "+git" +SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git;protocol=https;branch=stable-1.1 \ + file://0001-include-Check-for-previous-declaration-of-uintptr_t.patch \ + file://run-ptest \ + " + +S = "${WORKDIR}/git" + +inherit cmake ptest + +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}" +# Use -Wl,wrap linker flag, which does not work with LTO +LTO = "" + +do_install:append () { + install -d ${D}${libdir}/${BPN}/example + install -d ${D}${libdir}/${BPN}/example/mock/chef_wrap + install -d ${D}${libdir}/${BPN}/example/mock/uptime + + install -m 0755 ${B}/example/*_test ${D}/${libdir}/${BPN}/example + install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${libdir}/${BPN}/example/mock/chef_wrap + install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${libdir}/${BPN}/example/mock/uptime + install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${libdir}/${BPN}/example/mock/uptime + install -m 0644 ${B}/example/mock/uptime/libproc_uptime.so ${D}/${libdir}/${BPN}/example/mock/libproc_uptime.so +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests +} + +PACKAGE_BEFORE_PN += "${PN}-examples" + +FILES:${PN}-examples = "${libdir}/${BPN}/example" diff --git a/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch b/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch new file mode 100644 index 0000000000..65d30ea993 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch @@ -0,0 +1,43 @@ +From a54e035f802e79e3292d8ad39a14bd7c060eb7b1 Mon Sep 17 00:00:00 2001 +From: Breno Leitao <breno.leitao@gmail.com> +Date: Tue, 21 Mar 2023 21:58:28 -0700 +Subject: [PATCH] include: Check for previous declaration of uintptr_t + +Adding a extra check before declaring uintptr_t. Currently musl uses +macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking +this macro before defining it, and, defining it when uintptr_t is +defined. + +Taken from Alpine + +Upstream-Status: Pending +Signed-off-by: Breno Leitao <breno.leitao@gmail.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + include/cmocka.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/include/cmocka.h b/include/cmocka.h +index a21d965..f540793 100644 +--- a/include/cmocka.h ++++ b/include/cmocka.h +@@ -121,7 +121,7 @@ typedef uintmax_t LargestIntegralType; + ((LargestIntegralType)(value)) + + /* Smallest integral type capable of holding a pointer. */ +-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T) ++#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T) && !defined(__DEFINED_uintptr_t) + # if defined(_WIN32) + /* WIN32 is an ILP32 platform */ + typedef unsigned int uintptr_t; +@@ -147,6 +147,7 @@ typedef uintmax_t LargestIntegralType; + + # define _UINTPTR_T + # define _UINTPTR_T_DEFINED ++# define __DEFINED_uintptr_t + #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ + + /* Perform an unsigned cast to uintptr_t. */ +-- +2.40.0 + diff --git a/meta-oe/recipes-test/cmocka/files/run-ptest b/meta-oe/recipes-test/cmocka/files/run-ptest new file mode 100644 index 0000000000..48b9cd9fc5 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/files/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +cd tests +for i in `ls *`; do + if [ ./$i ] ; then + echo "PASS: $i" + else + echo "FAIL: $i" + fi +done diff --git a/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb b/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb index 04327862ce..be81125652 100644 --- a/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb +++ b/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb @@ -1,6 +1,6 @@ DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. " HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit" -LICENSE = "LGPL-2.1" +LICENSE = "LGPL-2.1-only" SECTION = "libs" LIC_FILES_CHKSUM = "file://COPYING;md5=b0e9ef921ff780eb328bdcaeebec3269" @@ -8,7 +8,9 @@ SRC_URI = " \ http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz \ file://0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch \ " -SRC_URI[md5sum] = "7ad93022171710a541bfe4bfd8b4a381" -SRC_URI[sha256sum] = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780" +SRC_URI[md5sum] = "9dc669e6145cadd9674873e24943e6dd" +SRC_URI[sha256sum] = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7" inherit autotools + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-test/cpputest/cpputest_4.0.bb b/meta-oe/recipes-test/cpputest/cpputest_4.0.bb new file mode 100644 index 0000000000..5536cf07b6 --- /dev/null +++ b/meta-oe/recipes-test/cpputest/cpputest_4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "CppUTest unit testing and mocking framework for C/C++" +HOMEPAGE = "http://cpputest.github.io/" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177" + +SRC_URI = "git://github.com/cpputest/cpputest.git;protocol=https;branch=master" +SRCREV = "67d2dfd41e13f09ff218aa08e2d35f1c32f032a1" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DLONGLONG=ON \ + -DC++11=ON \ + -DTESTS=OFF \ + " + +DEV_PKG_DEPENDENCY = "" + +FILES:${PN}-dev += "${libdir}/CppUTest/cmake/*" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[extensions] = "-DEXTENSIONS=ON,-DEXTENSIONS=OFF" diff --git a/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb b/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb new file mode 100644 index 0000000000..1bcfb0a9bf --- /dev/null +++ b/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "Linux firmware validation framework" +DESCRIPTION = "Cukinia is designed to help Linux-based embedded firmware \ +developers run simple system-level validation tests on their firmware." +HOMEPAGE = "https://github.com/savoirfairelinux/cukinia" +LICENSE = "GPL-3.0-only | Apache-2.0" + +LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = "git://github.com/savoirfairelinux/cukinia.git;protocol=https;branch=master" + +SRCREV = "a290f2dbb813ce12ba407962655a5d8b57322221" + +S = "${WORKDIR}/git" + +RRECOMMENDS:${PN} = "libgpiod-tools" + +do_install () { + install -d ${D}${sbindir} + install -m 0755 ${S}/cukinia ${D}${sbindir} +} diff --git a/meta-oe/recipes-test/cunit/cunit_2.1-3.bb b/meta-oe/recipes-test/cunit/cunit_2.1-3.bb index c9d87e36d0..252ef60def 100644 --- a/meta-oe/recipes-test/cunit/cunit_2.1-3.bb +++ b/meta-oe/recipes-test/cunit/cunit_2.1-3.bb @@ -1,19 +1,37 @@ DESCRIPTION = "CUnit is a C framework for unit testing. Test output supports comandline and GUI results reporting" HOMEPAGE = "http://cunit.sourceforge.net" -LICENSE = "LGPL-2.0" +LICENSE = "LGPL-2.0-only" SECTION = "libs" LIC_FILES_CHKSUM = "file://COPYING;md5=7734aa853b85d6f935466f081490ddbb" S = "${WORKDIR}/CUnit-${PV}" SRC_URI = "${SOURCEFORGE_MIRROR}/project/cunit/CUnit/${PV}/CUnit-${PV}.tar.bz2 \ - file://fixup-install-docdir.patch" + file://fixup-install-docdir.patch \ + file://run-ptest \ + " SRC_URI[md5sum] = "b5f1a9f6093869c070c6e4a9450cc10c" SRC_URI[sha256sum] = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214" -inherit autotools-brokensep remove-libtool +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cunit/files/releases" + +inherit autotools-brokensep ptest EXTRA_OECONF = "--enable-memtrace --enable-automated --enable-basic --enable-console" -FILES_${PN}-dev += "${datadir}/CUnit" -FILES_${PN}-doc += "${docdir}" +TESTBIN = "/CUnit/Sources/Test/test_cunit" + +PACKAGECONFIG ?= "${@bb.utils.contains('PTEST_ENABLED', '1', 'test','', d)} \ + " + +PACKAGECONFIG[test] = "--enable-test,,," + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${S}${TESTBIN} ${D}${PTEST_PATH}/tests/ +} + +FILES:${PN}-dev += "${datadir}/CUnit" +FILES:${PN}-doc += "${docdir}" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-test/cunit/files/run-ptest b/meta-oe/recipes-test/cunit/files/run-ptest new file mode 100644 index 0000000000..903c8c8d95 --- /dev/null +++ b/meta-oe/recipes-test/cunit/files/run-ptest @@ -0,0 +1,19 @@ +#!/bin/sh + +ptestdir=$(dirname "$(readlink -f "$0")") +cd $ptestdir/tests +./test_cunit > cunit_test_out.tmp + +echo "--- Test output ---" +cat cunit_test_out.tmp +echo "" +echo "--- ptest result ---" + +grep "Failures: 0" cunit_test_out.tmp > /dev/null +if [ $? -eq 0 ]; then + echo "PASS: cunit" +else + echo "FAIL: cunit" +fi + +rm -f cunit_test_out.tmp diff --git a/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb b/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb index 342fccf413..c5dfff2259 100644 --- a/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb +++ b/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb @@ -1,22 +1,23 @@ DESCRIPTION = "CxxTest is a unit testing framework for C++ that is similar in spirit to JUnit, CppUnit, and xUnit." HOMEPAGE = "http://cxxtest.com/" SECTION = "devel" -LICENSE = "LGPL-2.0" -LIC_FILES_CHKSUM = "file://${WORKDIR}/cxxtest-${PV}/COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" -SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/cxxtest-${PV}.tar.gz" +SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/${BP}.tar.gz" SRC_URI[md5sum] = "c3cc3355e2ac64e34c215f28e44cfcec" SRC_URI[sha256sum] = "1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8" -S = "${WORKDIR}/cxxtest-${PV}/python" +inherit setuptools3 -inherit distutils +SETUPTOOLS_SETUP_PATH = "${S}/python" -do_install_append() { +do_install:append() { install -d ${D}${includedir} - cp -a ../cxxtest ${D}${includedir} + cp -a ${S}/cxxtest/ ${D}${includedir} + # Fix the interpretter as otherwise this points to the build host python sed '1c\ -#!/usr/bin/env python' -i ${D}${bindir}/cxxtestgen +#!/usr/bin/env python3' -i ${D}${bindir}/cxxtestgen } BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..595b0296ea --- /dev/null +++ b/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,33 @@ +From 490f5b6cd788692d989f07180a5714c76872911e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Nov 2019 11:58:58 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/libevdev/evtest/merge_requests/6] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + evtest.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/evtest.c b/evtest.c +index ba7a161..8fc2e5a 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -63,6 +63,11 @@ + #define input_event_usec time.tv_usec + #endif + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #define BITS_PER_LONG (sizeof(long) * 8) + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) + #define OFF(x) ((x)%BITS_PER_LONG) diff --git a/meta-oe/recipes-test/evtest/evtest_git.bb b/meta-oe/recipes-test/evtest/evtest_1.35.bb index fa0d6e2fe5..52f684ce5f 100644 --- a/meta-oe/recipes-test/evtest/evtest_git.bb +++ b/meta-oe/recipes-test/evtest/evtest_1.35.bb @@ -1,16 +1,15 @@ SUMMARY = "Simple tool for input event debugging" HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/" -AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>" SECTION = "console/utils" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "libxml2" -SRCREV = "ab140a2dab1547f7deb5233be6d94a388cf08b26" -SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git" - -PV = "1.33+${SRCPV}" +SRCREV = "da347a8f88d2e5729dd12d61ee9743f902065b55" +SRC_URI = "git://gitlab.freedesktop.org/libevdev/evtest.git;protocol=https;branch=master \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-test/fbtest/fb-test_git.bb b/meta-oe/recipes-test/fbtest/fb-test_1.1.0.bb index 6a9d4b2787..6082ea2574 100644 --- a/meta-oe/recipes-test/fbtest/fb-test_git.bb +++ b/meta-oe/recipes-test/fbtest/fb-test_1.1.0.bb @@ -1,12 +1,10 @@ SUMMARY = "Test suite for Linux framebuffer" -PV = "1.1.0" - -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2" -SRC_URI = "git://github.com/prpplague/fb-test-app.git" +SRC_URI = "git://github.com//ponty/fb-test-app.git;branch=master;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch b/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch index c2d679aabc..41eaa239d1 100644 --- a/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch +++ b/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch @@ -1,16 +1,17 @@ -From 613e5cfe7751068062cc92f83870e436669fc0a8 Mon Sep 17 00:00:00 2001 +From ee787b53d734cd952c170c9303d213d3dd18a86f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 8 Jun 2017 16:49:50 -0700 -Subject: [PATCH] Add correct printf qualifier for off_t +Subject: [PATCH 1/6] Add correct printf qualifier for off_t Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- - src/bios/ebda_region/ebda_region.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) +Upstream-Status: Pending + + src/bios/ebda_region/ebda_region.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bios/ebda_region/ebda_region.c b/src/bios/ebda_region/ebda_region.c -index 16c39357..ad6d635c 100644 +index b70ced10..947a24bd 100644 --- a/src/bios/ebda_region/ebda_region.c +++ b/src/bios/ebda_region/ebda_region.c @@ -83,9 +83,9 @@ static int ebda_test1(fwts_framework *fw) @@ -25,14 +26,19 @@ index 16c39357..ad6d635c 100644 (entry->end_address - entry->start_address) / 1024, memory_map_name, entry->start_address, -@@ -93,8 +93,8 @@ static int ebda_test1(fwts_framework *fw) +@@ -93,9 +93,9 @@ static int ebda_test1(fwts_framework *fw) } else fwts_failed(fw, LOG_LEVEL_MEDIUM, "EBDAMappedNotReserved", - "EBDA region mapped at 0x%lx but not reserved in the %s table.", - ebda_addr, memory_map_name); +- + "EBDA region mapped at 0x%jdx but not reserved in the %s table.", + (intmax_t)ebda_addr, memory_map_name); - ++ return FWTS_OK; } + +-- +2.25.1 + diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch b/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch deleted file mode 100644 index 4baefe4a4c..0000000000 --- a/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ed988c27efde5355c3ba9d0de8a14a4a40f798cc Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 6 Jun 2017 07:25:09 -0700 -Subject: [PATCH] Include poll.h instead of deprecated sys/poll.h - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/lib/src/fwts_ipmi.c | 3 ++- - src/lib/src/fwts_pipeio.c | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/lib/src/fwts_ipmi.c b/src/lib/src/fwts_ipmi.c -index a4c8a511..e298969e 100644 ---- a/src/lib/src/fwts_ipmi.c -+++ b/src/lib/src/fwts_ipmi.c -@@ -18,10 +18,11 @@ - * - */ - -+#include <poll.h> -+ - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> --#include <sys/poll.h> - #include <sys/ioctl.h> - #include <linux/ipmi.h> - -diff --git a/src/lib/src/fwts_pipeio.c b/src/lib/src/fwts_pipeio.c -index 3b3cfaff..289564d1 100644 ---- a/src/lib/src/fwts_pipeio.c -+++ b/src/lib/src/fwts_pipeio.c -@@ -30,9 +30,9 @@ - #include <stdlib.h> - #include <string.h> - #include <paths.h> -+#include <poll.h> - - #include <sys/param.h> --#include <sys/poll.h> - #include <sys/types.h> - #include <sys/wait.h> - #include <errno.h> diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch b/meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch new file mode 100644 index 0000000000..358f7c424d --- /dev/null +++ b/meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch @@ -0,0 +1,43 @@ +From dd97e711b13af6f770db27abec316d5c9271c777 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 12 Jun 2023 10:25:55 -0700 +Subject: [PATCH] Makefile.am: Add missing link with zlib + +It uses functions e.g. gzopen/gzclone/gzgets which are provided by zlib +therefore add it to linker flags. + +Fixes +| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: gzgets +| >>> referenced by ../src/lib/src/.libs/libfwts.so +| +| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: gzopen +| >>> referenced by ../src/lib/src/.libs/libfwts.so +| +| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: gzclose +| >>> referenced by ../src/lib/src/.libs/libfwts.so +| clang-16: error: linker command failed with exit code 1 (use -v to see invocation) +| make[3]: *** [Makefile:2301: fwts] Error 1 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/lib/src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am +index 76c48d4..45eea88 100644 +--- a/src/lib/src/Makefile.am ++++ b/src/lib/src/Makefile.am +@@ -30,7 +30,7 @@ pkglib_LTLIBRARIES = libfwts.la + libfwts_la_LDFLAGS = -version-info 1:0:0 + + libfwts_la_LIBADD = \ +- -lm -lpthread -lbsd \ ++ -lm -lpthread -lbsd -lz \ + @GIO_LIBS@ \ + @GLIB_LIBS@ + +-- +2.41.0 + diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch b/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch deleted file mode 100644 index 611ccc8fc8..0000000000 --- a/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 475979cf5c1af978f4e8409666365ec75b3320ea Mon Sep 17 00:00:00 2001 -From: Benjamin Berg <bberg@redhat.com> -Date: Mon, 21 Aug 2017 10:34:40 +0200 -Subject: [PATCH] Remove -Werror from build - -Upstream-Status: Pending - ---- - src/Makefile.am | 2 +- - src/lib/src/Makefile.am | 2 +- - src/utilities/Makefile.am | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 4daa9e8f..873f23eb 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -14,7 +14,7 @@ AM_CPPFLAGS = \ - `pkg-config --silence-errors --cflags json` \ - `pkg-config --silence-errors --cflags json-c` \ - -pthread `pkg-config --cflags glib-2.0 gio-2.0` \ -- -Wall -Werror -Wextra -+ -Wall -Wextra - - bin_PROGRAMS = fwts - -diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index fa232451..082403a2 100644 ---- a/src/lib/src/Makefile.am -+++ b/src/lib/src/Makefile.am -@@ -24,7 +24,7 @@ AM_CPPFLAGS = \ - `pkg-config --silence-errors --cflags json-c` \ - `pkg-config --cflags glib-2.0 gio-2.0` \ - -DDATAROOTDIR=\"$(datarootdir)\" \ -- -Wall -Werror -Wextra -+ -Wall -Wextra - - pkglib_LTLIBRARIES = libfwts.la - -diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am -index aa37de55..4d5297cc 100644 ---- a/src/utilities/Makefile.am -+++ b/src/utilities/Makefile.am -@@ -16,7 +16,7 @@ - # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - # - --AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ -+AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ - `pkg-config --silence-errors --cflags json` \ - `pkg-config --silence-errors --cflags json-c` - diff --git a/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch b/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch deleted file mode 100644 index ae3665b4d0..0000000000 --- a/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 5bd05ad8569880985ddf6d4c06ed927d388c297f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 19 Oct 2016 01:57:16 +0000 -Subject: [PATCH] ignore constant-logical-operand warning with clang - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - src/dmi/dmicheck/dmicheck.c | 3 +++ - src/lib/src/fwts_acpi_tables.c | 5 +++++ - src/uefi/uefirtauthvar/uefirtauthvar.c | 5 +++++ - 3 files changed, 13 insertions(+) - -diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c -index 3cca9db9..60fb758f 100644 ---- a/src/dmi/dmicheck/dmicheck.c -+++ b/src/dmi/dmicheck/dmicheck.c -@@ -211,6 +211,8 @@ static const char *uuid_patterns[] = { - "0A0A0A0A-0A0A-0A0A-0A0A-0A0A0A0A0A0A", - NULL, - }; -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Wunneeded-internal-declaration" - - static const fwts_chassis_type_map fwts_dmi_chassis_type[] = { - { "Invalid", FWTS_SMBIOS_CHASSIS_INVALID }, -@@ -251,6 +253,7 @@ static const fwts_chassis_type_map fwts_dmi_chassis_type[] = { - { "Mini PC", FWTS_SMBIOS_CHASSIS_MINI_PC }, - { "Stick PC", FWTS_SMBIOS_CHASSIS_STICK_PC }, - }; -+#pragma clang diagnostic pop - - /* Remapping table from buggy version numbers to correct values */ - static const fwts_dmi_version dmi_versions[] = { -diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c -index c7ba59be..bdd224aa 100644 ---- a/src/lib/src/fwts_acpi_tables.c -+++ b/src/lib/src/fwts_acpi_tables.c -@@ -393,10 +393,14 @@ static int fwts_acpi_handle_fadt( - /* Determine FACS addr and load it. - * Will ignore the missing FACS in the hardware-reduced mode. - */ -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Waddress-of-packed-member" -+ - result = fwts_acpi_handle_fadt_tables(fw, fadt, - "FACS", "FIRMWARE_CTRL", "X_FIRMWARE_CTRL", - &fadt->firmware_control, &fadt->x_firmware_ctrl, - provenance); -+ - if (result != FWTS_OK) { - if ((result == FWTS_NULL_POINTER) && - fwts_acpi_is_reduced_hardware(fadt)) { -@@ -415,6 +419,7 @@ static int fwts_acpi_handle_fadt( - return FWTS_ERROR; - } - return FWTS_OK; -+#pragma clang diagnostic pop - } - - /* -diff --git a/src/uefi/uefirtauthvar/uefirtauthvar.c b/src/uefi/uefirtauthvar/uefirtauthvar.c -index c2031741..7a33d19d 100644 ---- a/src/uefi/uefirtauthvar/uefirtauthvar.c -+++ b/src/uefi/uefirtauthvar/uefirtauthvar.c -@@ -142,6 +142,9 @@ static int uefirtauthvar_deinit(fwts_framework *fw) - return FWTS_OK; - } - -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Wconstant-logical-operand" -+ - static int check_fw_support(fwts_framework *fw, uint64_t status) - { - if ((status == EFI_INVALID_PARAMETER) && -@@ -172,6 +175,8 @@ static int check_fw_support(fwts_framework *fw, uint64_t status) - return FWTS_OK; - } - -+#pragma clang diagnostic pop -+ - /* - * Set the created authenticated variable, AuthVarCreate, - * and checking the data size and data. diff --git a/meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch b/meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch new file mode 100644 index 0000000000..90bee3e722 --- /dev/null +++ b/meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch @@ -0,0 +1,68 @@ +From 6135a318dd48787f1b6e1296c755d67575f44dc1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 1 Dec 2022 15:18:55 -0800 +Subject: [PATCH] libfwtsiasl: Disable parallel builds of lex/bison files + +Since they are using mv cmds they maybe conflicting with each other in +highly parallelized build resulting in errors like + +| mv dtcompilerparser.tab.c dtcompilerparser.c +| mv dtcompilerparser.tab.c dtcompilerparser.c +| cp dtcompilerparser.tab.h dtcompilerparser.y.h +| mv dtcompilerparser.tab.c dtcompilerparser.c +| mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory +| make[3]: *** [Makefile:4196: dtcompilerparser.c] Error 1 +| make[3]: *** Waiting for unfinished jobs.... +| mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory +| make[3]: *** [Makefile:4194: dtcompilerparser.y.h] Error 1 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/libfwtsiasl/Makefile.am | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/src/libfwtsiasl/Makefile.am ++++ b/src/libfwtsiasl/Makefile.am +@@ -58,32 +58,24 @@ aslcompiler.y: $(ASL_PARSER) + aslcompilerlex.c: $(ASL_LEXER) + ${LEX} ${AM_LFLAGS} -PAslCompiler -o$@ $(top_srcdir)/src/acpica/source/compiler/aslcompiler.l + +-.NOTPARALLEL: aslcompiler.c ++.NOTPARALLEL: aslcompiler.c aslcompiler.y.h + aslcompiler.c aslcompiler.y.h: aslcompiler.y +- ${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler $^ +- mv aslcompiler.tab.c aslcompiler.c +- cp aslcompiler.tab.h aslcompiler.y.h ++ ${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler --header=aslcompiler.y.h --output=aslcompiler.c $^ + +-.NOTPARALLEL: dtcompilerparserlex.c ++.NOTPARALLEL: dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h + dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y + ${LEX} ${AM_LFLAGS} -PDtCompilerParser -odtcompilerparserlex.c $< +- ${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y +- mv dtcompilerparser.tab.c dtcompilerparser.c +- cp dtcompilerparser.tab.h dtcompilerparser.y.h ++ ${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser --header=dtcompilerparser.y.h --output=dtcompilerparser.c $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y + +-.NOTPARALLEL: dtparserlex.c ++.NOTPARALLEL: dtparserlex.c dtparser.c dtparser.y.h + dtparserlex.c dtparser.c dtparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y + ${LEX} ${AM_LFLAGS} -PDtParser -odtparserlex.c $< +- ${YACC} ${AM_YFLAGS} -bdtparser -pDtParser $(top_srcdir)/src/acpica/source/compiler/dtparser.y +- mv dtparser.tab.c dtparser.c +- cp dtparser.tab.h dtparser.y.h ++ ${YACC} ${AM_YFLAGS} -bdtparser -pDtParser --header=dtparser.y.h --output=dtparser.c $(top_srcdir)/src/acpica/source/compiler/dtparser.y + +-.NOTPARALLEL: prparserlex.c ++.NOTPARALLEL: prparserlex.c prparser.c prparser.y.h + prparserlex.c prparser.c prparser.y.h: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y + ${LEX} ${AM_LFLAGS} -PPrParser -oprparserlex.c $< +- ${YACC} ${AM_YFLAGS} -bprparser -pPrParser $(top_srcdir)/src/acpica/source/compiler/prparser.y +- mv prparser.tab.c prparser.c +- cp prparser.tab.h prparser.y.h ++ ${YACC} ${AM_YFLAGS} -bprparser -pPrParser --header=prparser.y.h --output=prparser.c $(top_srcdir)/src/acpica/source/compiler/prparser.y + + pkglib_LTLIBRARIES = libfwtsiasl.la + diff --git a/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch b/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch new file mode 100644 index 0000000000..610113e6fe --- /dev/null +++ b/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch @@ -0,0 +1,45 @@ +From 7317aba872f2bcf052a7db9fa3c7a7ce3c55dc6b Mon Sep 17 00:00:00 2001 +From: Benjamin Berg <bberg@redhat.com> +Date: Mon, 21 Aug 2017 10:34:40 +0200 +Subject: [PATCH 3/6] Remove -Werror from build + +Upstream-Status: Pending +--- + src/Makefile.am | 2 +- + src/lib/src/Makefile.am | 2 +- + src/utilities/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -13,7 +13,7 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/efi_runtime \ + -I$(top_srcdir)/smccc_test \ + -pthread \ +- -Wall -Werror -Wextra \ ++ -Wall -Wextra \ + -Wno-address-of-packed-member \ + -Wfloat-equal -Wmissing-declarations \ + -Wno-long-long -Wredundant-decls -Wshadow \ +--- a/src/lib/src/Makefile.am ++++ b/src/lib/src/Makefile.am +@@ -22,7 +22,7 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/src/acpica/source/include \ + -I$(top_srcdir)/src/acpica/source/compiler \ + -DDATAROOTDIR=\"$(datarootdir)\" \ +- -Wall -Werror -Wextra \ ++ -Wall -Wextra \ + -Wno-address-of-packed-member + + pkglib_LTLIBRARIES = libfwts.la +--- a/src/utilities/Makefile.am ++++ b/src/utilities/Makefile.am +@@ -16,7 +16,7 @@ + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + # + +-AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ ++AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ + -I$(srcdir)/../lib/include + + bin_PROGRAMS = kernelscan diff --git a/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch b/meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch index b45e46a3d9..0c78e730e4 100644 --- a/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch +++ b/meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch @@ -1,7 +1,7 @@ -From 1112e51d240a206bdcf253878ef1f4963b92da8a Mon Sep 17 00:00:00 2001 +From 9456f2f779d3ed4a134d55571d8bec78ad3b28c1 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 6 Jun 2017 07:37:20 -0700 -Subject: [PATCH] Define __SWORD_TYPE if not defined by libc +Subject: [PATCH 4/6] Define __SWORD_TYPE if not defined by libc __SWORD_TYPE is internal to glibc, therefore check and define it if needed e.g. on musl @@ -9,16 +9,13 @@ check and define it if needed e.g. on musl Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/lib/src/fwts_uefi.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/src/lib/src/fwts_uefi.c b/src/lib/src/fwts_uefi.c -index 544145fa..460b0b77 100644 --- a/src/lib/src/fwts_uefi.c +++ b/src/lib/src/fwts_uefi.c -@@ -59,6 +59,10 @@ typedef struct { +@@ -63,6 +63,10 @@ typedef struct { #define UEFI_IFACE_SYSFS (2) /* sysfs */ #define UEFI_IFACE_EFIVARS (3) /* efivar fs */ diff --git a/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch b/meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch index 1d8c620efa..df768d1e9d 100644 --- a/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch +++ b/meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch @@ -1,7 +1,7 @@ -From 244e9551ab9bbc1dfa91d19cd472ef254a94ae41 Mon Sep 17 00:00:00 2001 +From 53b9f97fb7faed043134f2ab738347b20379d32f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 6 Jun 2017 07:39:28 -0700 -Subject: [PATCH] Undefine PAGE_SIZE +Subject: [PATCH 5/6] Undefine PAGE_SIZE musl defines PAGE_SIZE and build complains of multiple definitions @@ -9,16 +9,13 @@ of multiple definitions Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- src/lib/src/fwts_acpi_tables.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c -index bdd224aa..58e982a6 100644 --- a/src/lib/src/fwts_acpi_tables.c +++ b/src/lib/src/fwts_acpi_tables.c -@@ -42,6 +42,7 @@ +@@ -40,6 +40,7 @@ #define BIOS_START (0x000e0000) /* Start of BIOS memory */ #define BIOS_END (0x000fffff) /* End of BIOS memory */ #define BIOS_LENGTH (BIOS_END - BIOS_START) /* Length of BIOS memory */ diff --git a/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch b/meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch index bebbfa4ad1..b723b87c7a 100644 --- a/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch +++ b/meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch @@ -1,25 +1,24 @@ -From 1848b8f8b9be500046ca5d632789a068d6151815 Mon Sep 17 00:00:00 2001 +From f723458eb649a9ad1d5d0e3dd6e801b284680fa7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 8 Jun 2017 16:50:59 -0700 -Subject: [PATCH] use intptr_t to fix pointer-to-int-cast issues +Subject: [PATCH 6/6] use intptr_t to fix pointer-to-int-cast issues uintptr_t is guaranteed to be wide enough that converting a void* to uintptr_t and back again will yield the original pointer value Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- +Upstream-Status: Pending + src/lib/src/fwts_acpi_tables.c | 4 ++-- src/lib/src/fwts_mmap.c | 2 +- - src/lib/src/fwts_smbios.c | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) + src/lib/src/fwts_smbios.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c -index 58e982a6..6522032f 100644 --- a/src/lib/src/fwts_acpi_tables.c +++ b/src/lib/src/fwts_acpi_tables.c -@@ -156,7 +156,7 @@ static fwts_acpi_table_rsdp *fwts_acpi_get_rsdp(fwts_framework *fw, void *addr, +@@ -171,7 +171,7 @@ static fwts_acpi_table_rsdp *fwts_acpi_g return NULL; } @@ -28,7 +27,7 @@ index 58e982a6..6522032f 100644 return NULL; if (fwts_safe_memcpy(rsdp, mem, sizeof(fwts_acpi_table_rsdp)) != FWTS_OK) { -@@ -455,7 +455,7 @@ static int fwts_acpi_load_tables_from_firmware(fwts_framework *fw) +@@ -484,7 +484,7 @@ static int fwts_acpi_load_tables_from_fi if ((rsdp = fwts_acpi_get_rsdp(fw, rsdp_addr, &rsdp_len)) == NULL) return FWTS_ERROR; @@ -37,11 +36,9 @@ index 58e982a6..6522032f 100644 /* Load any tables from XSDT if it's valid */ if (rsdp->xsdt_address) { -diff --git a/src/lib/src/fwts_mmap.c b/src/lib/src/fwts_mmap.c -index e28abf87..2180b2cc 100644 --- a/src/lib/src/fwts_mmap.c +++ b/src/lib/src/fwts_mmap.c -@@ -81,7 +81,7 @@ int fwts_munmap(void *mem, const size_t size) +@@ -82,7 +82,7 @@ int fwts_munmap(void *mem, const size_t off_t offset; page_size = fwts_page_size(); @@ -50,25 +47,14 @@ index e28abf87..2180b2cc 100644 if (munmap((void *)((uint8_t *)mem - offset), size + offset) < 0) return FWTS_ERROR; -diff --git a/src/lib/src/fwts_smbios.c b/src/lib/src/fwts_smbios.c -index e5b3c774..c8134926 100644 --- a/src/lib/src/fwts_smbios.c +++ b/src/lib/src/fwts_smbios.c -@@ -55,7 +55,7 @@ static void *fwts_smbios_find_entry_uefi(fwts_framework *fw, fwts_smbios_entry * +@@ -78,7 +78,7 @@ static void *fwts_smbios_find_entry_uefi + if ((addr = fwts_scan_efi_systab(smbios)) != NULL) { fwts_smbios_entry *mapped_entry; - const size_t size = sizeof(fwts_smbios_entry); - if ((mapped_entry = fwts_mmap((off_t)addr, size)) != FWTS_MAP_FAILED) { + if ((mapped_entry = fwts_mmap((uintptr_t)addr, size)) != FWTS_MAP_FAILED) { if (fwts_safe_memcpy(entry, mapped_entry, size) == FWTS_OK) { (void)fwts_munmap(mapped_entry, size); *type = FWTS_SMBIOS; -@@ -91,7 +91,7 @@ static void *fwts_smbios30_find_entry_uefi(fwts_framework *fw, fwts_smbios30_ent - fwts_smbios30_entry *mapped_entry; - const size_t size = sizeof(fwts_smbios30_entry); - -- if ((mapped_entry = fwts_mmap((off_t)addr, size)) != FWTS_MAP_FAILED) { -+ if ((mapped_entry = fwts_mmap((uintptr_t)addr, size)) != FWTS_MAP_FAILED) { - if (fwts_safe_memread(mapped_entry, size) == FWTS_OK) { - *entry = *mapped_entry; - (void)fwts_munmap(mapped_entry, size); diff --git a/meta-oe/recipes-test/fwts/fwts_22.11.00.bb b/meta-oe/recipes-test/fwts/fwts_22.11.00.bb new file mode 100644 index 0000000000..2448082620 --- /dev/null +++ b/meta-oe/recipes-test/fwts/fwts_22.11.00.bb @@ -0,0 +1,36 @@ +SUMMARY = "Firmware testsuite" +DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)." +HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519" + +SRC_URI = "http://fwts.ubuntu.com/release/fwts-V${PV}.tar.gz;subdir=${BP} \ + file://0001-Add-correct-printf-qualifier-for-off_t.patch \ + file://0003-Remove-Werror-from-build.patch \ + file://0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \ + file://0005-Undefine-PAGE_SIZE.patch \ + file://0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \ + file://0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch \ + file://0001-Makefile.am-Add-missing-link-with-zlib.patch \ + " +SRC_URI[sha256sum] = "4af4e1e0f1ae9313297af722d744ba47a81c81bc5bdeab3f4f40837a39e4b808" + +COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux" + +DEPENDS = "libpcre glib-2.0 dtc bison-native flex-native libbsd" +DEPENDS:append:libc-musl = " libexecinfo" + +inherit autotools bash-completion pkgconfig + +LDFLAGS:append:libc-musl = " -lexecinfo" + +# We end up linker barfing with undefined symbols on ppc64 but not on other arches +# surprisingly +ASNEEDED:powerpc64le = "" + +FILES:${PN} += "${libdir}/fwts/lib*${SOLIBS}" +FILES:${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" +FILES:${PN}-staticdev += "${libdir}/fwts/lib*a" + +RDEPENDS:${PN} += "dtc" diff --git a/meta-oe/recipes-test/fwts/fwts_git.bb b/meta-oe/recipes-test/fwts/fwts_git.bb deleted file mode 100644 index d3fb644dfd..0000000000 --- a/meta-oe/recipes-test/fwts/fwts_git.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Firmware testsuite" -DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)." -HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519" - -PV = "18.05.00+git${SRCPV}" - -SRCREV = "b0ec7aa2ef743d113fd8c5e57c0ca3d5edd86f0e" -SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ - file://0001-ignore-constant-logical-operand-warning-with-clang.patch \ - file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \ - file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \ - file://0003-Undefine-PAGE_SIZE.patch \ - file://0001-Add-correct-printf-qualifier-for-off_t.patch \ - file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \ - file://0001-Remove-Werror-from-build.patch \ - " - -S = "${WORKDIR}/git" - -COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux" - -DEPENDS = "libpcre json-c glib-2.0 dtc bison-native" -DEPENDS_append_libc-musl = " libexecinfo" - -inherit autotools bash-completion pkgconfig - -CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas" -LDFLAGS_append_libc-musl = " -lexecinfo" - -FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" -FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" -FILES_${PN}-staticdev += "${libdir}/fwts/lib*a" -FILES_${PN}-dbg += "${libdir}/fwts/.debug" - -TOOLCHAIN = "gcc" - diff --git a/meta-oe/recipes-test/googletest/googletest_1.14.0.bb b/meta-oe/recipes-test/googletest/googletest_1.14.0.bb new file mode 100644 index 0000000000..6546845715 --- /dev/null +++ b/meta-oe/recipes-test/googletest/googletest_1.14.0.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "Google's framework for writing C++ tests" +HOMEPAGE = "https://github.com/google/googletest" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" + +PROVIDES += "gmock gtest" + +S = "${WORKDIR}/git" +SRCREV = "f8d7d77c06936315286eb55f8de22cd23c188571" +SRC_URI = "git://github.com/google/googletest.git;branch=main;protocol=https" + +inherit cmake pkgconfig + +# allow for shared libraries, but do not default to them +# +PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," + +CXXFLAGS:append = " -fPIC" + +ALLOW_EMPTY:${PN} = "1" +ALLOW_EMPTY:${PN}-dbg = "1" + +# -staticdev will not be implicitly put into an SDK, so we add an rdepend +# if we are not building shared libraries +# +RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG","shared","","${PN}-staticdev",d)}" + +BBCLASSEXTEND = "native nativesdk" + +do_configure:prepend() { + # explicitly use python3 + # the scripts are already python3 compatible since https://github.com/google/googletest/commit/d404af0d987a9c38cafce82a7e26ec8468c88361 and other fixes like this + # but since this oe-core change http://git.openembedded.org/openembedded-core/commit/?id=5f8f16b17f66966ae91aeabc23e97de5ecd17447 + # there isn't python in HOSTTOOLS so "env python" fails + sed -i 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@g' ${S}/googlemock/test/*py ${S}/googletest/test/*py +} diff --git a/meta-oe/recipes-test/gtest/gtest_1.8.1.bb b/meta-oe/recipes-test/gtest/gtest_1.8.1.bb deleted file mode 100644 index 23862c930a..0000000000 --- a/meta-oe/recipes-test/gtest/gtest_1.8.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Google's framework for writing C++ tests" -HOMEPAGE = "https://github.com/abseil/googletest" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ - file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" - -PROVIDES += "gmock" - -S = "${WORKDIR}/git" -SRCREV = "2fe3bd994b3189899d93f1d5a881e725e046fdc2" -SRC_URI = "\ - git://github.com/abseil/googletest.git;protocol=https; \ -" - -inherit cmake - -ALLOW_EMPTY_${PN} = "1" -ALLOW_EMPTY_${PN}-dbg = "1" - -RDEPENDS_${PN}-dev += "${PN}-staticdev" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch new file mode 100644 index 0000000000..ff04837652 --- /dev/null +++ b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch @@ -0,0 +1,45 @@ +From 735bb5d053efad274aa4ea5a6682e656ff792909 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 24 Aug 2023 01:49:48 -0700 +Subject: [PATCH] Makefile: Detect compiler in makefile + +Add compiler specific options based on detected compiler gcc/clang + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/Makefile | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 62e924c..c15eb33 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -110,7 +110,23 @@ PREFIX ?= /usr/local + LIBDIRNAME ?= /lib/faketime + PLATFORM ?=$(shell uname) + +-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS) ++ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1) ++COMPILER := clang ++else ++COMPILER := gcc ++endif ++export COMPILER ++ ++CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS) ++ ++ifeq ($(COMPILER),clang) ++CFLAGS += -Wno-tautological-pointer-compare ++endif ++ ++ifeq ($(COMPILER),gcc) ++CFLAGS += -Wno-nonnull-compare ++endif ++ + ifeq ($(PLATFORM),SunOS) + CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 + endif +-- +2.42.0 + diff --git a/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb new file mode 100644 index 0000000000..f13925ee18 --- /dev/null +++ b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "A library for faking the system time in user-space programs" +SECTION = "libs" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV = "d475b925943ad404c6c728ac868dc73949e7281c" + +SRC_URI = "git://github.com/wolfcw/libfaketime.git;branch=master;protocol=https \ + file://0001-Makefile-Detect-compiler-in-makefile.patch \ + " + +S = "${WORKDIR}/git" + +CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" + +do_configure[noexec] = "1" +do_compile () { + oe_runmake +} +do_install () { + install -d ${D}${libdir}/faketime + oe_libinstall -C src libfaketime ${D}${libdir}/faketime + install -d ${D}${bindir} + install -m 0755 src/faketime ${D}${bindir} +} + +FILES:${PN} = "${bindir}/faketime ${libdir}/faketime/lib*${SOLIBS}" +FILES:${PN}-dev += "${libdir}/faketime/lib*${SOLIBSDEV}" diff --git a/meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb b/meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb new file mode 100644 index 0000000000..e909676abc --- /dev/null +++ b/meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Linux Serial Test Application" +HOMEPAGE = "https://github.com/cbrake/linux-serial-test" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSES/MIT;md5=544799d0b492f119fa04641d1b8868ed" + +SRC_URI = "git://github.com/cbrake/linux-serial-test.git;protocol=https;branch=master" + +PV = "0+git" +SRCREV = "2ee61484167eab846f7b7c565284d7c350d738d3" + +S = "${WORKDIR}/git" + +inherit cmake diff --git a/meta-oe/recipes-test/pm-qa/pm-qa_git.bb b/meta-oe/recipes-test/pm-qa/pm-qa_git.bb index 09290909d6..fc21e6192e 100644 --- a/meta-oe/recipes-test/pm-qa/pm-qa_git.bb +++ b/meta-oe/recipes-test/pm-qa/pm-qa_git.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Utilities for testing Power Management" HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/PmQa" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" PV = "0.5.2" @@ -42,6 +42,7 @@ do_install () { do # Remove hardcoded relative paths sed -i -e 's#..\/utils\/##' ${script} + sed -i -e 's#. ..\/Switches#${bindir}#g' ${script} script_basename=`basename ${script}` install -m 0755 $script ${D}${libdir}/${BPN}/${script_basename} @@ -54,7 +55,7 @@ do_install () { # if the script includes any helper scripts from the $libdir # directory then change the source path to the absolute path # to reflect the install location of the helper scripts. - sed -i -e "s#source ../include#source ${libdir}/${BPN}#g" ${script} + sed -i -e "s#. ../include#. ${libdir}/${BPN}#g" ${script} # Remove hardcoded relative paths sed -i -e 's#..\/utils\/##' ${script} @@ -62,7 +63,7 @@ do_install () { install -m 0755 $script ${D}${bindir}/${script_basename} done } -RDEPENDS_${PN} +="bash" +RDEPENDS:${PN} +="bash" # http://errors.yoctoproject.org/Errors/Details/186956/ -EXCLUDE_FROM_WORLD_libc-musl = "1" +COMPATIBLE_HOST:libc-musl = 'null' diff --git a/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb b/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb new file mode 100644 index 0000000000..683600f712 --- /dev/null +++ b/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb @@ -0,0 +1,13 @@ +SUMMARY = "shUnit2 is a xUnit based unit test framework for Bourne based shell scripts" +HOMEPAGE = "https://github.com/kward/shunit2" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = " git://github.com/kward/shunit2.git;branch=master;protocol=https" +SRCREV = "080159b303537888c5d41910b4d47a5002638e30" + +S = "${WORKDIR}/git" + +do_install() { + install -D -m 0755 ${S}/shunit2 ${D}${bindir}/shunit2 +} diff --git a/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch b/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch deleted file mode 100644 index 469791d8e6..0000000000 --- a/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7c97710bfc44d895b7111bef9c55866f00a3589c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Aug 2018 11:54:27 -0700 -Subject: [PATCH] Revert "Makefile: force sync after build in case reboot loses - executable" - -This reverts commit ae6322b1baea56a589207c96e358daae8edd0a8f. - -Not needed for cross-builds - -Upstream-Status: Inappropriate [Cross compile specific] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Makefile b/Makefile -index c0db72c0..5781dda6 100644 ---- a/Makefile -+++ b/Makefile -@@ -348,7 +348,6 @@ endif - stress-ng: $(OBJS) - @echo "LD $@" - @$(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -o $@ -- @sync - - makeconfig: - @if [ ! -s config ]; then \ --- -2.17.0 - diff --git a/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch b/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch deleted file mode 100644 index c0b344901e..0000000000 --- a/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 9bcb4e170f01dbe0a9e7bf6b899c5d9b5283d4c6 Mon Sep 17 00:00:00 2001 -From: Randy MacLeod <Randy.MacLeod@windriver.com> -Date: Sun, 11 Nov 2018 23:00:53 -0500 -Subject: [PATCH] Several changes to fix musl build -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Rebased patch for: - -stress-{context, stackmmap}.c: Set tests to non-implemented because uses -swapcontext, musl provide the definition but not the implementation due - to that functions are pre-POSIX and set to be deprecated. - stress-{resources, pty}.c: Doesn't include termio.h and remove stress - operations that uses struct termio, musl doesn't provide that struct. -stress-malloc.c: Check for definition of M_MMAP_THRESHOLD musl doesn't - ptovide that constant. -stress-madvise.c: Add static poision_count integer, definition of - MADV_SOFT_OFFLINE doesn't grauntee MADV_HWPOISON to be defined. -cache.c: Define GLOB_ONLYDIR not available on MUSL. - -Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> -Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> - -Upstream-status: Pending ---- - cache.c | 4 ++++ - stress-madvise.c | 1 + - stress-pty.c | 18 ------------------ - stress-resources.c | 1 - - stress-stackmmap.c | 2 +- - 5 files changed, 6 insertions(+), 20 deletions(-) - -diff --git a/cache.c b/cache.c -index e8a0f791..4c7bb486 100644 ---- a/cache.c -+++ b/cache.c -@@ -28,6 +28,10 @@ typedef struct { - - #include <glob.h> - -+#ifndef GLOB_ONLYDIR -+#define GLOB_ONLYDIR 0x100 -+#endif -+ - #if defined(__linux__) - #define SYS_CPU_PREFIX "/sys/devices/system/cpu" - #define GLOB_PATTERN SYS_CPU_PREFIX "/cpu[0-9]*" -diff --git a/stress-madvise.c b/stress-madvise.c -index b2e3497f..77e43a91 100644 ---- a/stress-madvise.c -+++ b/stress-madvise.c -@@ -146,6 +146,7 @@ static int stress_random_advise(const args_t *args) - #if defined(MADV_SOFT_OFFLINE) - if (advise == MADV_SOFT_OFFLINE) { - static int soft_offline_count; -+ static int poison_count; - - /* ..and minimize number of soft offline pages */ - if ((soft_offline_count >= NUM_SOFT_OFFLINE_MAX) || -diff --git a/stress-pty.c b/stress-pty.c -index 4dd88ab9..c79a7021 100644 ---- a/stress-pty.c -+++ b/stress-pty.c -@@ -26,7 +26,6 @@ - - #if defined(__linux__) - --#include <termio.h> - #include <termios.h> - - typedef struct { -@@ -111,7 +110,6 @@ static int stress_pty(const args_t *args) - */ - for (i = 0; i < n; i++) { - struct termios ios; -- struct termio io; - struct winsize ws; - int arg; - -@@ -133,22 +131,6 @@ static int stress_pty(const args_t *args) - if (ioctl(ptys[i].slave, TCSETSF, &ios) < 0) - pr_fail_err("ioctl TCSETSF on slave pty"); - #endif --#if defined(TCGETA) -- if (ioctl(ptys[i].slave, TCGETA, &io) < 0) -- pr_fail_err("ioctl TCGETA on slave pty"); --#endif --#if defined(TCSETA) -- if (ioctl(ptys[i].slave, TCSETA, &io) < 0) -- pr_fail_err("ioctl TCSETA on slave pty"); --#endif --#if defined(TCSETAW) -- if (ioctl(ptys[i].slave, TCSETAW, &io) < 0) -- pr_fail_err("ioctl TCSETAW on slave pty"); --#endif --#if defined(TCSETAF) -- if (ioctl(ptys[i].slave, TCSETAF, &io) < 0) -- pr_fail_err("ioctl TCSETAF on slave pty"); --#endif - #if defined(TIOCGLCKTRMIOS) - if (ioctl(ptys[i].slave, TIOCGLCKTRMIOS, &ios) < 0) - pr_fail_err("ioctl TIOCGLCKTRMIOS on slave pty"); -diff --git a/stress-resources.c b/stress-resources.c -index f3dcfb38..86f9a5ba 100644 ---- a/stress-resources.c -+++ b/stress-resources.c -@@ -28,7 +28,6 @@ - #include <sys/inotify.h> - #endif - #if defined(__linux__) --#include <termio.h> - #include <termios.h> - #endif - #if defined(HAVE_LIB_PTHREAD) && defined(__linux__) -diff --git a/stress-stackmmap.c b/stress-stackmmap.c -index c2f4c31d..54308777 100644 ---- a/stress-stackmmap.c -+++ b/stress-stackmmap.c -@@ -24,7 +24,7 @@ - */ - #include "stress-ng.h" - --#if defined(__linux__) -+#if defined(__linux__) && False - - #include <ucontext.h> - --- -2.17.0 - diff --git a/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb b/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb deleted file mode 100644 index 3e8f2d4f51..0000000000 --- a/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "A tool to load and stress a computer system" -HOMEPAGE = "http://kernel.ubuntu.com/~cking/stress-ng/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "zlib libaio" - -SRC_URI = "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ - file://0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch \ - " -SRC_URI_append_libc-musl = " \ - file://0001-Several-changes-to-fix-musl-build.patch \ - " - -SRC_URI[md5sum] = "b03744c2eb68bf7e9a300e78e397f348" -SRC_URI[sha256sum] = "0741e3004bf590bb7af3db979a46fe89bee7aaad6065cd1d87d0b7fa49046cb2" - -UPSTREAM_CHECK_URI ?= "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/" -UPSTREAM_CHECK_REGEX ?= "(?P<pver>\d+(\.\d+)+)\.tar" - -CFLAGS += "-Wall -Wextra -DVERSION='"$(VERSION)"'" - -do_install_append() { - install -d ${D}${bindir} - install -m 755 ${S}/stress-ng ${D}${bindir}/stress-ng -} diff --git a/meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch b/meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch new file mode 100644 index 0000000000..23bfb9a5e2 --- /dev/null +++ b/meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch @@ -0,0 +1,37 @@ +From 9db789b4498d4130450e988757914c03e42b40f5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 19 Jun 2023 18:33:36 -0700 +Subject: [PATCH] executor: Include missing linux/falloc.h + +Its needed for FALLOC_FL_ZERO_RANGE which needs this header, it works +with glibc because fcntl.h includes this header indirectly, however the +failure comes to fore with musl C library where this header is not +included indirectly by other system headers, therefore include it as +required. + +Fixes +In file included from executor/common.h:505: +executor/common_linux.h:5604:16: error: use of undeclared identifier 'FALLOC_FL_ZERO_RANGE' + fallocate(fd, FALLOC_FL_ZERO_RANGE, 0, SWAP_FILE_SIZE); + ^ +Upstream-Status: Submitted [https://github.com/google/syzkaller/pull/3974] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + executor/common_linux.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/executor/common_linux.h b/executor/common_linux.h +index d5152e058..9ae3fb159 100644 +--- a/executor/common_linux.h ++++ b/executor/common_linux.h +@@ -5585,6 +5585,7 @@ static long syz_pkey_set(volatile long pkey, volatile long val) + #include <sys/stat.h> + #include <sys/swap.h> + #include <sys/types.h> ++#include <linux/falloc.h> + + #define SWAP_FILE "./swap-file" + #define SWAP_FILE_SIZE (128 * 1000 * 1000) // 128 MB. +-- +2.41.0 + diff --git a/meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch b/meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch new file mode 100644 index 0000000000..61f4351651 --- /dev/null +++ b/meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch @@ -0,0 +1,62 @@ +From aca1030d29f627314d13884ebc7b2c313d718df7 Mon Sep 17 00:00:00 2001 +From: Ovidiu Panait <ovidiu.panait@windriver.com> +Date: Wed, 13 Apr 2022 17:17:54 +0300 +Subject: [PATCH] sys/targets/targets.go: allow users to override hardcoded + cross-compilers + +Currently, cross compiler names are hardcoded for each os/arch combo. However, +toolchain tuples differ, especially when using vendor provided toolchains. +Allow users to specify the cross compiler for an os/arch combo using +SYZ_CC_<os>_<arch> environment variables. + +Also, remove hardcoded "-march=armv6" flag to fix compilation on arm. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + sys/targets/targets.go | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +--- a/sys/targets/targets.go ++++ b/sys/targets/targets.go +@@ -262,7 +262,6 @@ var List = map[string]map[string]*Target + PtrSize: 4, + PageSize: 4 << 10, + LittleEndian: true, +- CFlags: []string{"-D__LINUX_ARM_ARCH__=6", "-march=armv6"}, + Triple: "arm-linux-gnueabi", + KernelArch: "arm", + KernelHeaderArch: "arm", +@@ -700,12 +699,16 @@ func initTarget(target *Target, OS, arch + for i := range target.CFlags { + target.replaceSourceDir(&target.CFlags[i], sourceDir) + } +- if OS == Linux && arch == runtime.GOARCH { +- // Don't use cross-compiler for native compilation, there are cases when this does not work: +- // https://github.com/google/syzkaller/pull/619 +- // https://github.com/google/syzkaller/issues/387 +- // https://github.com/google/syzkaller/commit/06db3cec94c54e1cf720cdd5db72761514569d56 +- target.Triple = "" ++ if OS == Linux { ++ if cc := os.Getenv("SYZ_CC_" + OS + "_" + arch); cc != "" { ++ target.CCompiler = cc ++ } else if arch == runtime.GOARCH { ++ // Don't use cross-compiler for native compilation, there are cases when this does not work: ++ // https://github.com/google/syzkaller/pull/619 ++ // https://github.com/google/syzkaller/issues/387 ++ // https://github.com/google/syzkaller/commit/06db3cec94c54e1cf720cdd5db72761514569d56 ++ target.Triple = "" ++ } + } + if target.CCompiler == "" { + target.setCompiler(useClang) +@@ -839,7 +842,7 @@ func (target *Target) lazyInit() { + // On CI we want to fail loudly if cross-compilation breaks. + // Also fail if SOURCEDIR_GOOS is set b/c in that case user probably assumes it will work. + if (target.OS != runtime.GOOS || !runningOnCI) && getSourceDir(target) == "" { +- if _, err := exec.LookPath(target.CCompiler); err != nil { ++ if _, err := exec.LookPath(strings.Fields(target.CCompiler)[0]); err != nil { + target.BrokenCompiler = fmt.Sprintf("%v is missing (%v)", target.CCompiler, err) + return + } diff --git a/meta-oe/recipes-test/syzkaller/syzkaller_git.bb b/meta-oe/recipes-test/syzkaller/syzkaller_git.bb new file mode 100644 index 0000000000..b43207f2a7 --- /dev/null +++ b/meta-oe/recipes-test/syzkaller/syzkaller_git.bb @@ -0,0 +1,82 @@ +DESCRIPTION = "syzkaller is an unsupervised coverage-guided kernel fuzzer" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=5335066555b14d832335aa4660d6c376" + +inherit go-mod + +GO_IMPORT = "github.com/google/syzkaller" + +SRC_URI = "git://${GO_IMPORT};protocol=https;destsuffix=${BPN}-${PV}/src/${GO_IMPORT};branch=master \ + file://0001-sys-targets-targets.go-allow-users-to-override-hardc.patch;patchdir=src/${GO_IMPORT} \ + file://0001-executor-Include-missing-linux-falloc.h.patch;patchdir=src/${GO_IMPORT} \ + " +SRCREV = "25905f5d0a2a7883bd33491997556193582c6059" + +export GOPROXY = "https://proxy.golang.org,direct" +# Workaround for network access issue during compile step. +# This needs to be fixed in the recipes buildsystem so that +# it can be accomplished during do_fetch task. +do_compile[network] = "1" + +COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux" + +B = "${S}/src/${GO_IMPORT}/bin" + +GO_EXTRA_LDFLAGS += ' -X ${GO_IMPORT}/prog.GitRevision=${SRCREV}' + +export GOHOSTFLAGS="${GO_LINKSHARED} ${GOBUILDFLAGS}" +export GOTARGETFLAGS="${GO_LINKSHARED} ${GOBUILDFLAGS}" +export TARGETOS = '${GOOS}' +export TARGETARCH = '${GOARCH}' +export TARGETVMARCH = '${GOARCH}' + +CGO_ENABLED = "1" + +LDFLAGS:append:class-target = "${@bb.utils.contains_any("TC_CXX_RUNTIME", "llvm android", " -lc++", " -lstdc++", d)}" + +DEPENDS:class-native += "qemu-system-native" + +do_compile:class-native() { + export HOSTOS="${GOHOSTOS}" + export HOSTARCH="${GOHOSTARCH}" + + oe_runmake HOSTGO="${GO}" host +} + +do_compile:class-target() { + export HOSTOS="${GOOS}" + export HOSTARCH="${GOARCH}" + export SYZ_CC_${TARGETOS}_${TARGETARCH}="${CC}" + + # Unset GOOS and GOARCH so that the correct syz-sysgen binary can be + # generated. Fixes: + # go install: cannot install cross-compiled binaries when GOBIN is set + unset GOOS + unset GOARCH + + oe_runmake GO="${GO}" CFLAGS="${CXXFLAGS} ${LDFLAGS}" REV=${SRCREV} target +} + +do_install:class-native() { + SYZ_BINS_NATIVE="syz-manager syz-runtest syz-repro syz-mutate syz-prog2c \ + syz-db syz-upgrade" + + install -d ${D}${bindir} + + for i in ${SYZ_BINS_NATIVE}; do + install -m 0755 ${B}/${i} ${D}${bindir} + done +} + +do_install:class-target() { + SYZ_TARGET_DIR="${TARGETOS}_${TARGETARCH}" + SYZ_BINS_TARGET="syz-fuzzer syz-execprog syz-stress syz-executor" + + install -d ${D}${bindir}/${SYZ_TARGET_DIR} + + for i in ${SYZ_BINS_TARGET}; do + install -m 0755 ${B}/${SYZ_TARGET_DIR}/${i} ${D}${bindir}/${SYZ_TARGET_DIR} + done +} + +BBCLASSEXTEND += "native" diff --git a/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch b/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch index 71782c5b9b..908a352d0b 100644 --- a/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch +++ b/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch @@ -1,32 +1,36 @@ -Upstream-Status: Inappropriate [configuration] +From 99b62670d01c6081d883303722726beb65699cbb Mon Sep 17 00:00:00 2001 +From: Zong Li <zong.li@sifive.com> +Date: Wed, 6 May 2020 01:23:22 -0700 +Subject: [PATCH] Makefile for cross compile SoftFloat 3e -From 07f2528d93f44fe1d8080a4225f29f4ada9f4663 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Thu, 4 Feb 2016 09:15:37 -0200 -Subject: [PATCH 1/2] Makefile for cross compile SoftFloat +This commit adds a Makefile for cross compile on SoftFloat +3e version. Almost implementation is based on meta-oe porting +from Fabio Berton <fabio.berton@ossystems.com.br>. -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +Signed-off-by: Zong Li <zongbox@gmail.com> --- - SoftFloat-3a/build/Linux-Cross-Compile/Makefile | 274 ++++++++++++++++++++++ - SoftFloat-3a/build/Linux-Cross-Compile/platform.h | 44 ++++ - 2 files changed, 318 insertions(+) - create mode 100644 SoftFloat-3a/build/Linux-Cross-Compile/Makefile - create mode 100644 SoftFloat-3a/build/Linux-Cross-Compile/platform.h +Upstream-Status: Pending -diff --git a/SoftFloat-3a/build/Linux-Cross-Compile/Makefile b/SoftFloat-3a/build/Linux-Cross-Compile/Makefile + SoftFloat-3e/build/Linux-Cross-Compile/Makefile | 325 ++++++++++++++++++++++ + SoftFloat-3e/build/Linux-Cross-Compile/platform.h | 52 ++++ + 2 files changed, 377 insertions(+) + create mode 100644 SoftFloat-3e/build/Linux-Cross-Compile/Makefile + create mode 100644 SoftFloat-3e/build/Linux-Cross-Compile/platform.h + +diff --git a/SoftFloat-3e/build/Linux-Cross-Compile/Makefile b/SoftFloat-3e/build/Linux-Cross-Compile/Makefile new file mode 100644 -index 0000000..c4d0a60 +index 0000000..4da4bc9 --- /dev/null -+++ b/SoftFloat-3a/build/Linux-Cross-Compile/Makefile -@@ -0,0 +1,274 @@ ++++ b/SoftFloat-3e/build/Linux-Cross-Compile/Makefile +@@ -0,0 +1,325 @@ + +#============================================================================= +# -+# This Makefile is part of the SoftFloat IEEE Floating-Point Arithmetic -+# Package, Release 3a, by John R. Hauser. ++# This Makefile template is part of the SoftFloat IEEE Floating-Point ++# Arithmetic Package, Release 3e, by John R. Hauser. +# -+# Copyright 2011, 2012, 2013, 2014 The Regents of the University of -+# California. All rights reserved. ++# Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the ++# University of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: @@ -55,21 +59,25 @@ index 0000000..c4d0a60 +# +#============================================================================= + -+SOURCE_DIR = ../../source -+SPECIALIZE_TYPE = 8086 ++SOURCE_DIR ?= ../../source ++SPECIALIZE_TYPE ?= 8086 + -+SOFTFLOAT_OPTS = -DINLINE_LEVEL=5 -DSOFTFLOAT_FAST_DIV64TO32 -fgnu89-inline ++SOFTFLOAT_OPTS ?= \ ++ -DSOFTFLOAT_ROUND_ODD -DINLINE_LEVEL=5 -DSOFTFLOAT_FAST_DIV32TO16 \ ++ -DSOFTFLOAT_FAST_DIV64TO32 + +DELETE = rm -f +C_INCLUDES = -I. -I$(SOURCE_DIR)/$(SPECIALIZE_TYPE) -I$(SOURCE_DIR)/include +COMPILE_C = \ + ${CC} -c -Werror-implicit-function-declaration $(SOFTFLOAT_OPTS) \ -+ $(C_INCLUDES) -O2 -o $@ ++ $(C_INCLUDES) -O2 -o $@ +MAKELIB = ${AR} crs $@ + +OBJ = .o +LIB = .a + ++OTHER_HEADERS = ++ +.PHONY: all +all: softfloat$(LIB) + @@ -87,6 +95,7 @@ index 0000000..c4d0a60 + s_shiftRightJamM$(OBJ) \ + s_shiftRightM$(OBJ) \ + s_countLeadingZeros8$(OBJ) \ ++ s_countLeadingZeros16$(OBJ) \ + s_countLeadingZeros32$(OBJ) \ + s_countLeadingZeros64$(OBJ) \ + s_addM$(OBJ) \ @@ -97,12 +106,17 @@ index 0000000..c4d0a60 + s_subM$(OBJ) \ + s_mul64To128M$(OBJ) \ + s_mul128MTo256M$(OBJ) \ ++ s_approxRecip_1Ks$(OBJ) \ + s_approxRecip32_1$(OBJ) \ ++ s_approxRecipSqrt_1Ks$(OBJ) \ + s_approxRecipSqrt32_1$(OBJ) \ + s_remStepMBy32$(OBJ) \ + +OBJS_SPECIALIZE = \ + softfloat_raiseFlags$(OBJ) \ ++ s_f16UIToCommonNaN$(OBJ) \ ++ s_commonNaNToF16UI$(OBJ) \ ++ s_propagateNaNF16UI$(OBJ) \ + s_f32UIToCommonNaN$(OBJ) \ + s_commonNaNToF32UI$(OBJ) \ + s_propagateNaNF32UI$(OBJ) \ @@ -119,10 +133,16 @@ index 0000000..c4d0a60 + s_propagateNaNF128M$(OBJ) \ + +OBJS_OTHERS = \ -+ s_roundPackToUI32$(OBJ) \ -+ s_roundPackMToUI64$(OBJ) \ -+ s_roundPackToI32$(OBJ) \ -+ s_roundPackMToI64$(OBJ) \ ++ s_roundToUI32$(OBJ) \ ++ s_roundMToUI64$(OBJ) \ ++ s_roundToI32$(OBJ) \ ++ s_roundMToI64$(OBJ) \ ++ s_normSubnormalF16Sig$(OBJ) \ ++ s_roundPackToF16$(OBJ) \ ++ s_normRoundPackToF16$(OBJ) \ ++ s_addMagsF16$(OBJ) \ ++ s_subMagsF16$(OBJ) \ ++ s_mulAddF16$(OBJ) \ + s_normSubnormalF32Sig$(OBJ) \ + s_roundPackToF32$(OBJ) \ + s_normRoundPackToF32$(OBJ) \ @@ -151,22 +171,53 @@ index 0000000..c4d0a60 + s_addF128M$(OBJ) \ + s_mulAddF128M$(OBJ) \ + softfloat_state$(OBJ) \ ++ ui32_to_f16$(OBJ) \ + ui32_to_f32$(OBJ) \ + ui32_to_f64$(OBJ) \ + ui32_to_extF80M$(OBJ) \ + ui32_to_f128M$(OBJ) \ ++ ui64_to_f16$(OBJ) \ + ui64_to_f32$(OBJ) \ + ui64_to_f64$(OBJ) \ + ui64_to_extF80M$(OBJ) \ + ui64_to_f128M$(OBJ) \ ++ i32_to_f16$(OBJ) \ + i32_to_f32$(OBJ) \ + i32_to_f64$(OBJ) \ + i32_to_extF80M$(OBJ) \ + i32_to_f128M$(OBJ) \ ++ i64_to_f16$(OBJ) \ + i64_to_f32$(OBJ) \ + i64_to_f64$(OBJ) \ + i64_to_extF80M$(OBJ) \ + i64_to_f128M$(OBJ) \ ++ f16_to_ui32$(OBJ) \ ++ f16_to_ui64$(OBJ) \ ++ f16_to_i32$(OBJ) \ ++ f16_to_i64$(OBJ) \ ++ f16_to_ui32_r_minMag$(OBJ) \ ++ f16_to_ui64_r_minMag$(OBJ) \ ++ f16_to_i32_r_minMag$(OBJ) \ ++ f16_to_i64_r_minMag$(OBJ) \ ++ f16_to_f32$(OBJ) \ ++ f16_to_f64$(OBJ) \ ++ f16_to_extF80M$(OBJ) \ ++ f16_to_f128M$(OBJ) \ ++ f16_roundToInt$(OBJ) \ ++ f16_add$(OBJ) \ ++ f16_sub$(OBJ) \ ++ f16_mul$(OBJ) \ ++ f16_mulAdd$(OBJ) \ ++ f16_div$(OBJ) \ ++ f16_rem$(OBJ) \ ++ f16_sqrt$(OBJ) \ ++ f16_eq$(OBJ) \ ++ f16_le$(OBJ) \ ++ f16_lt$(OBJ) \ ++ f16_eq_signaling$(OBJ) \ ++ f16_le_quiet$(OBJ) \ ++ f16_lt_quiet$(OBJ) \ ++ f16_isSignalingNaN$(OBJ) \ + f32_to_ui32$(OBJ) \ + f32_to_ui64$(OBJ) \ + f32_to_i32$(OBJ) \ @@ -175,6 +226,7 @@ index 0000000..c4d0a60 + f32_to_ui64_r_minMag$(OBJ) \ + f32_to_i32_r_minMag$(OBJ) \ + f32_to_i64_r_minMag$(OBJ) \ ++ f32_to_f16$(OBJ) \ + f32_to_f64$(OBJ) \ + f32_to_extF80M$(OBJ) \ + f32_to_f128M$(OBJ) \ @@ -201,6 +253,7 @@ index 0000000..c4d0a60 + f64_to_ui64_r_minMag$(OBJ) \ + f64_to_i32_r_minMag$(OBJ) \ + f64_to_i64_r_minMag$(OBJ) \ ++ f64_to_f16$(OBJ) \ + f64_to_f32$(OBJ) \ + f64_to_extF80M$(OBJ) \ + f64_to_f128M$(OBJ) \ @@ -227,6 +280,7 @@ index 0000000..c4d0a60 + extF80M_to_ui64_r_minMag$(OBJ) \ + extF80M_to_i32_r_minMag$(OBJ) \ + extF80M_to_i64_r_minMag$(OBJ) \ ++ extF80M_to_f16$(OBJ) \ + extF80M_to_f32$(OBJ) \ + extF80M_to_f64$(OBJ) \ + extF80M_to_f128M$(OBJ) \ @@ -251,6 +305,7 @@ index 0000000..c4d0a60 + f128M_to_ui64_r_minMag$(OBJ) \ + f128M_to_i32_r_minMag$(OBJ) \ + f128M_to_i64_r_minMag$(OBJ) \ ++ f128M_to_f16$(OBJ) \ + f128M_to_f32$(OBJ) \ + f128M_to_f64$(OBJ) \ + f128M_to_extF80M$(OBJ) \ @@ -272,7 +327,7 @@ index 0000000..c4d0a60 +OBJS_ALL = $(OBJS_PRIMITIVES) $(OBJS_SPECIALIZE) $(OBJS_OTHERS) + +$(OBJS_ALL): \ -+ platform.h $(SOURCE_DIR)/include/primitiveTypes.h \ ++ $(OTHER_HEADERS) platform.h $(SOURCE_DIR)/include/primitiveTypes.h \ + $(SOURCE_DIR)/include/primitives.h +$(OBJS_SPECIALIZE) $(OBJS_OTHERS): \ + $(SOURCE_DIR)/include/softfloat_types.h $(SOURCE_DIR)/include/internals.h \ @@ -293,20 +348,20 @@ index 0000000..c4d0a60 +clean: + $(DELETE) $(OBJS_ALL) softfloat$(LIB) + -diff --git a/SoftFloat-3a/build/Linux-Cross-Compile/platform.h b/SoftFloat-3a/build/Linux-Cross-Compile/platform.h +diff --git a/SoftFloat-3e/build/Linux-Cross-Compile/platform.h b/SoftFloat-3e/build/Linux-Cross-Compile/platform.h new file mode 100644 -index 0000000..5e566fc +index 0000000..1728c15 --- /dev/null -+++ b/SoftFloat-3a/build/Linux-Cross-Compile/platform.h -@@ -0,0 +1,44 @@ ++++ b/SoftFloat-3e/build/Linux-Cross-Compile/platform.h +@@ -0,0 +1,52 @@ + +/*============================================================================ + -+This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic -+Package, Release 3a, by John R. Hauser. ++This C header template is part of the SoftFloat IEEE Floating-Point Arithmetic ++Package, Release 3e, by John R. Hauser. + -+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California. -+All rights reserved. ++Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of ++California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: @@ -341,8 +396,16 @@ index 0000000..5e566fc + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ ++#ifdef __GNUC_STDC_INLINE__ ++#define INLINE inline ++#else +#define INLINE extern inline ++#endif + ++/*---------------------------------------------------------------------------- ++*----------------------------------------------------------------------------*/ ++#define SOFTFLOAT_BUILTIN_CLZ 1 ++#include "opts-GCC.h" -- -2.1.4 +2.7.4 diff --git a/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch b/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch index 71ca343cc0..c99ba71b37 100644 --- a/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch +++ b/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch @@ -1,33 +1,37 @@ -Upstream-Status: Inappropriate [configuration] +From 3503f7f3845caba454949fdf8408e85ca4fdb943 Mon Sep 17 00:00:00 2001 +From: Zong Li <zong.li@sifive.com> +Date: Wed, 6 May 2020 01:25:55 -0700 +Subject: [PATCH] Makefile for cross compile TestFloat 3e -From 9aa4a416f05967320c1aa52bdccfe105a3bf3269 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Thu, 4 Feb 2016 09:16:09 -0200 -Subject: [PATCH 2/2] Makefile for cross compile TestFloat +This commit adds a Makefile for cross compile on TestFloat +3e version. Almost implementation is based on meta-oe porting +from Fabio Berton <fabio.berton@ossystems.com.br>. -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +Signed-off-by: Zong Li <zongbox@gmail.com> --- - TestFloat-3a/build/Linux-Cross-Compile/Makefile | 321 ++++++++++++++++++++++ - TestFloat-3a/build/Linux-Cross-Compile/platform.h | 45 +++ - 2 files changed, 366 insertions(+) - create mode 100644 TestFloat-3a/build/Linux-Cross-Compile/Makefile - create mode 100644 TestFloat-3a/build/Linux-Cross-Compile/platform.h +Upstream-Status: Pending -diff --git a/TestFloat-3a/build/Linux-Cross-Compile/Makefile b/TestFloat-3a/build/Linux-Cross-Compile/Makefile + TestFloat-3e/build/Linux-Cross-Compile/Makefile | 353 ++++++++++++++++++++++ + TestFloat-3e/build/Linux-Cross-Compile/platform.h | 48 +++ + 2 files changed, 401 insertions(+) + create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/Makefile + create mode 100644 TestFloat-3e/build/Linux-Cross-Compile/platform.h + +diff --git a/TestFloat-3e/build/Linux-Cross-Compile/Makefile b/TestFloat-3e/build/Linux-Cross-Compile/Makefile new file mode 100644 -index 0000000..a89326a +index 0000000..d82b9ed --- /dev/null -+++ b/TestFloat-3a/build/Linux-Cross-Compile/Makefile -@@ -0,0 +1,321 @@ ++++ b/TestFloat-3e/build/Linux-Cross-Compile/Makefile +@@ -0,0 +1,353 @@ + +#============================================================================= +# -+# This Makefile is part of TestFloat, Release 3a, a package of programs for -+# testing the correctness of floating-point arithmetic complying with the IEEE -+# Standard for Floating-Point, by John R. Hauser. ++# This Makefile template is part of TestFloat, Release 3b, a package of ++# programs for testing the correctness of floating-point arithmetic complying ++# with the IEEE Standard for Floating-Point, by John R. Hauser. +# -+# Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of -+# California. All rights reserved. ++# Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University ++# of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: @@ -56,28 +60,29 @@ index 0000000..a89326a +# +#============================================================================= + -+SOURCE_DIR = ../../source ++SOURCE_DIR ?= ../../source ++SOFTFLOAT_DIR ?= ../../../SoftFloat-3e ++PLATFORM ?= Linux-Cross-Compile ++ +SUBJ_SOURCE_DIR = $(SOURCE_DIR)/subj-C -+SOFTFLOAT_DIR = ../../../SoftFloat-3a +SOFTFLOAT_INCLUDE_DIR = $(SOFTFLOAT_DIR)/source/include -+PLATFORM = Linux-Cross-Compile + +SOFTFLOAT_H = \ + $(SOFTFLOAT_INCLUDE_DIR)/softfloat_types.h \ + $(SOFTFLOAT_INCLUDE_DIR)/softfloat.h +SOFTFLOAT_LIB = $(SOFTFLOAT_DIR)/build/$(PLATFORM)/softfloat$(LIB) + -+TESTFLOAT_OPTS = -DEXTFLOAT80 -DFLOAT128 -DLONG_DOUBLE_IS_EXTFLOAT80 -fgnu89-inline ++TESTFLOAT_OPTS ?= -DFLOAT16 -DFLOAT64 -DEXTFLOAT80 -DFLOAT128 -DFLOAT_ROUND_ODD + +DELETE = rm -f +C_INCLUDES = \ + -I. -I$(SUBJ_SOURCE_DIR) -I$(SOURCE_DIR) -I$(SOFTFLOAT_INCLUDE_DIR) +COMPILE_C = \ -+ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \ -+ $(C_INCLUDES) -O2 -o $@ ++ ${CC} -c -Werror-implicit-function-declaration \ ++ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O2 -o $@ +COMPILE_SLOWFLOAT_C = \ -+ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \ -+ $(C_INCLUDES) -O3 -o $@ ++ ${CC} -c -Werror-implicit-function-declaration \ ++ $(TESTFLOAT_OPTS) $(C_INCLUDES) -O3 -o $@ +MAKELIB = ${AR} crs $@ +LINK = ${CC} -o $@ ${LDFLAGS} +OTHER_LIBS = -lm @@ -99,6 +104,7 @@ index 0000000..a89326a + genCases_ui64$(OBJ) \ + genCases_i32$(OBJ) \ + genCases_i64$(OBJ) \ ++ genCases_f16$(OBJ) \ + genCases_f32$(OBJ) \ + genCases_f64$(OBJ) \ + genCases_extF80$(OBJ) \ @@ -107,6 +113,9 @@ index 0000000..a89326a +OBJS_WRITECASE = \ + writeCase_a_ui32$(OBJ) \ + writeCase_a_ui64$(OBJ) \ ++ writeCase_a_f16$(OBJ) \ ++ writeCase_ab_f16$(OBJ) \ ++ writeCase_abc_f16$(OBJ) \ + writeCase_a_f32$(OBJ) \ + writeCase_ab_f32$(OBJ) \ + writeCase_abc_f32$(OBJ) \ @@ -115,35 +124,56 @@ index 0000000..a89326a + writeCase_abc_f64$(OBJ) \ + writeCase_a_extF80M$(OBJ) \ + writeCase_ab_extF80M$(OBJ) \ -+ writeCase_abc_extF80M$(OBJ) \ + writeCase_a_f128M$(OBJ) \ + writeCase_ab_f128M$(OBJ) \ + writeCase_abc_f128M$(OBJ) \ + writeCase_z_bool$(OBJ) \ + writeCase_z_ui32$(OBJ) \ + writeCase_z_ui64$(OBJ) \ ++ writeCase_z_f16$(OBJ) \ + writeCase_z_f32$(OBJ) \ + writeCase_z_f64$(OBJ) \ + writeCase_z_extF80M$(OBJ) \ + writeCase_z_f128M$(OBJ) \ + +OBJS_TEST = \ ++ test_a_ui32_z_f16$(OBJ) \ + test_a_ui32_z_f32$(OBJ) \ + test_a_ui32_z_f64$(OBJ) \ + test_a_ui32_z_extF80$(OBJ) \ + test_a_ui32_z_f128$(OBJ) \ ++ test_a_ui64_z_f16$(OBJ) \ + test_a_ui64_z_f32$(OBJ) \ + test_a_ui64_z_f64$(OBJ) \ + test_a_ui64_z_extF80$(OBJ) \ + test_a_ui64_z_f128$(OBJ) \ ++ test_a_i32_z_f16$(OBJ) \ + test_a_i32_z_f32$(OBJ) \ + test_a_i32_z_f64$(OBJ) \ + test_a_i32_z_extF80$(OBJ) \ + test_a_i32_z_f128$(OBJ) \ ++ test_a_i64_z_f16$(OBJ) \ + test_a_i64_z_f32$(OBJ) \ + test_a_i64_z_f64$(OBJ) \ + test_a_i64_z_extF80$(OBJ) \ + test_a_i64_z_f128$(OBJ) \ ++ test_a_f16_z_ui32_rx$(OBJ) \ ++ test_a_f16_z_ui64_rx$(OBJ) \ ++ test_a_f16_z_i32_rx$(OBJ) \ ++ test_a_f16_z_i64_rx$(OBJ) \ ++ test_a_f16_z_ui32_x$(OBJ) \ ++ test_a_f16_z_ui64_x$(OBJ) \ ++ test_a_f16_z_i32_x$(OBJ) \ ++ test_a_f16_z_i64_x$(OBJ) \ ++ test_a_f16_z_f32$(OBJ) \ ++ test_a_f16_z_f64$(OBJ) \ ++ test_a_f16_z_extF80$(OBJ) \ ++ test_a_f16_z_f128$(OBJ) \ ++ test_az_f16$(OBJ) \ ++ test_az_f16_rx$(OBJ) \ ++ test_abz_f16$(OBJ) \ ++ test_abcz_f16$(OBJ) \ ++ test_ab_f16_z_bool$(OBJ) \ + test_a_f32_z_ui32_rx$(OBJ) \ + test_a_f32_z_ui64_rx$(OBJ) \ + test_a_f32_z_i32_rx$(OBJ) \ @@ -152,6 +182,7 @@ index 0000000..a89326a + test_a_f32_z_ui64_x$(OBJ) \ + test_a_f32_z_i32_x$(OBJ) \ + test_a_f32_z_i64_x$(OBJ) \ ++ test_a_f32_z_f16$(OBJ) \ + test_a_f32_z_f64$(OBJ) \ + test_a_f32_z_extF80$(OBJ) \ + test_a_f32_z_f128$(OBJ) \ @@ -168,6 +199,7 @@ index 0000000..a89326a + test_a_f64_z_ui64_x$(OBJ) \ + test_a_f64_z_i32_x$(OBJ) \ + test_a_f64_z_i64_x$(OBJ) \ ++ test_a_f64_z_f16$(OBJ) \ + test_a_f64_z_f32$(OBJ) \ + test_a_f64_z_extF80$(OBJ) \ + test_a_f64_z_f128$(OBJ) \ @@ -184,6 +216,7 @@ index 0000000..a89326a + test_a_extF80_z_ui64_x$(OBJ) \ + test_a_extF80_z_i32_x$(OBJ) \ + test_a_extF80_z_i64_x$(OBJ) \ ++ test_a_extF80_z_f16$(OBJ) \ + test_a_extF80_z_f32$(OBJ) \ + test_a_extF80_z_f64$(OBJ) \ + test_a_extF80_z_f128$(OBJ) \ @@ -199,6 +232,7 @@ index 0000000..a89326a + test_a_f128_z_ui64_x$(OBJ) \ + test_a_f128_z_i32_x$(OBJ) \ + test_a_f128_z_i64_x$(OBJ) \ ++ test_a_f128_z_f16$(OBJ) \ + test_a_f128_z_f32$(OBJ) \ + test_a_f128_z_f64$(OBJ) \ + test_a_f128_z_extF80$(OBJ) \ @@ -209,6 +243,7 @@ index 0000000..a89326a + test_ab_f128_z_bool$(OBJ) \ + +OBJS_LIB = \ ++ uint128_inline$(OBJ) \ + uint128$(OBJ) \ + fail$(OBJ) \ + functions_common$(OBJ) \ @@ -218,6 +253,7 @@ index 0000000..a89326a + genCases_common$(OBJ) \ + $(OBJS_GENCASES) \ + genCases_writeTestsTotal$(OBJ) \ ++ verCases_inline$(OBJ) \ + verCases_common$(OBJ) \ + verCases_writeFunctionName$(OBJ) \ + readHex$(OBJ) \ @@ -340,21 +376,21 @@ index 0000000..a89326a + $(DELETE) $(OBJS_TESTFLOAT_VER) testfloat_ver$(EXE) + $(DELETE) $(OBJS_TESTFLOAT) testfloat$(EXE) + -diff --git a/TestFloat-3a/build/Linux-Cross-Compile/platform.h b/TestFloat-3a/build/Linux-Cross-Compile/platform.h +diff --git a/TestFloat-3e/build/Linux-Cross-Compile/platform.h b/TestFloat-3e/build/Linux-Cross-Compile/platform.h new file mode 100644 -index 0000000..09e63a0 +index 0000000..487a43b --- /dev/null -+++ b/TestFloat-3a/build/Linux-Cross-Compile/platform.h -@@ -0,0 +1,45 @@ ++++ b/TestFloat-3e/build/Linux-Cross-Compile/platform.h +@@ -0,0 +1,48 @@ + +/*============================================================================ + -+This C header file is part of TestFloat, Release 3a, a package of programs for -+testing the correctness of floating-point arithmetic complying with the IEEE -+Standard for Floating-Point, by John R. Hauser. ++This C header template is part of TestFloat, Release 3e, a package of programs ++for testing the correctness of floating-point arithmetic complying with the ++IEEE Standard for Floating-Point, by John R. Hauser. + -+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California. -+All rights reserved. ++Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of ++California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: @@ -389,8 +425,11 @@ index 0000000..09e63a0 + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ ++#ifdef __GNUC_STDC_INLINE__ ++#define INLINE inline ++#else +#define INLINE extern inline -+ ++#endif -- -2.1.4 +2.7.4 diff --git a/meta-oe/recipes-test/testfloat/testfloat_3a.bb b/meta-oe/recipes-test/testfloat/testfloat_3e.bb index 28e9677625..48f50d8274 100644 --- a/meta-oe/recipes-test/testfloat/testfloat_3a.bb +++ b/meta-oe/recipes-test/testfloat/testfloat_3e.bb @@ -1,22 +1,23 @@ +SUMMARY = "Berkeley TestFloat 3e" DESCRIPTION = "Berkeley TestFloat is a small collection of programs for \ testing that an implementation of binary floating-point conforms to the \ IEEE Standard for Floating-Point Arithmetic." HOMEPAGE = "http://www.jhauser.us/arithmetic/TestFloat.html" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://TestFloat-${PV}/COPYING.txt;md5=e45c175a323b5727777fb6bd4b26eafc" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://TestFloat-${PV}/COPYING.txt;md5=d467c2d231054347e8fd885ac06e7b2b" SRC_URI = "\ - http://www.jhauser.us/arithmetic/TestFloat-3a.zip;name=TestFloat \ - http://www.jhauser.us/arithmetic/SoftFloat-3a.zip;name=SoftFloat \ + http://www.jhauser.us/arithmetic/TestFloat-3e.zip;name=TestFloat \ + http://www.jhauser.us/arithmetic/SoftFloat-3e.zip;name=SoftFloat \ file://0001-Makefile-for-cross-compile-SoftFloat.patch \ file://0002-Makefile-for-cross-compile-TestFloat.patch \ " -SRC_URI[TestFloat.md5sum] = "5a124e85ab74c5e52da27d401cea6cc3" -SRC_URI[TestFloat.sha256sum] = "fa258b5b3c751656a372051adee4183e19ad4763032322eb7a87dfb9e2c22c75" -SRC_URI[SoftFloat.md5sum] = "e53bd4550cf99690642c41374d188517" -SRC_URI[SoftFloat.sha256sum] = "946fd23180559d60eb6683dda1cf8b142f5426dedfefb97b03c6afdfd70ee9e0" +SRC_URI[TestFloat.md5sum] = "e70a1e6c6732abf79645a6dcca69a654" +SRC_URI[TestFloat.sha256sum] = "6d4bdf0096b48a653aa59fc203a9e5fe18b5a58d7a1b715107c7146776a0aad6" +SRC_URI[SoftFloat.md5sum] = "7dac954ea4aed0697cbfee800ba4f492" +SRC_URI[SoftFloat.sha256sum] = "21130ce885d35c1fe73fc1e1bf2244178167e05c6747cad5f450cc991714c746" S = "${WORKDIR}" |