summaryrefslogtreecommitdiff
path: root/import-layers/meta-openembedded/meta-oe/recipes-test
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-test')
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/cunit/files/fixup-install-docdir.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fbtest/fb-test_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch141
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch348
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch396
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb35
15 files changed, 1196 insertions, 6 deletions
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb
new file mode 100644
index 000000000..65b08b068
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb
@@ -0,0 +1,14 @@
+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"
+SECTION = "libs"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+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] = "d1c6bdd5a76c66d2c38331e2d287bc01"
+SRC_URI[sha256sum] = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
new file mode 100644
index 000000000..6a20c1283
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
@@ -0,0 +1,31 @@
+From 9d7ce869607d123cd9837890d71f940c5ced3393 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 29 Feb 2016 07:58:20 +0100
+Subject: [PATCH] doc/Makefile.am: do not preserve file flags when copying
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [cross specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 8815476..3237499 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -22,7 +22,7 @@ htmldir += $(pkgdatadir)/html
+ html_DATA += $(static_pages) html/index.html
+
+ install-data-hook:
+- cp -pR html/* $(DESTDIR)$(htmldir)
++ cp -R html/* $(DESTDIR)$(htmldir)
+
+ # Automake's "distcheck" is sensitive to having files left over
+ # after "make uninstall", so we have to clean up the install hook.
+--
+2.5.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
new file mode 100644
index 000000000..c9d87e36d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
@@ -0,0 +1,19 @@
+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"
+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"
+SRC_URI[md5sum] = "b5f1a9f6093869c070c6e4a9450cc10c"
+SRC_URI[sha256sum] = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214"
+
+inherit autotools-brokensep remove-libtool
+
+EXTRA_OECONF = "--enable-memtrace --enable-automated --enable-basic --enable-console"
+
+FILES_${PN}-dev += "${datadir}/CUnit"
+FILES_${PN}-doc += "${docdir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/files/fixup-install-docdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/files/fixup-install-docdir.patch
new file mode 100644
index 000000000..c32822731
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/files/fixup-install-docdir.patch
@@ -0,0 +1,36 @@
+From: "Mike Holmes" <mike.holmes@linaro.org>
+Date: Thu, 30 October 2014 16:21:03 -0500
+Subject: [PATCH] fixup-install-docdir
+
+The default configuration macros for CUnit install the documentation and
+header files in locations not consistent with the OE filesystem layout.
+So here we specify new locations which are consistent with OE filesystems.
+
+Upstream-Status: Inappropriate - configuration for OE build environment
+
+Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
+Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
+---
+
+diff -uNr a/doc/headers/Makefile.am b/doc/headers/Makefile.am
+--- a/doc/headers/Makefile.am 2014-10-30 22:06:29.704574162 +0100
++++ b/doc/headers/Makefile.am 2014-10-30 22:07:43.578524791 +0100
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-dochdrdir = $(prefix)/doc/@PACKAGE@/headers
++dochdrdir = $(docdir)/headers
+
+ INCLUDE_FILES = \
+ Automated.h \
+diff -uNr a/doc/Makefile.am b/doc/Makefile.am
+--- a/doc/Makefile.am 2014-10-30 22:06:29.704574162 +0100
++++ b/doc/Makefile.am 2014-10-30 22:07:01.461412166 +0100
+@@ -1,7 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+
+-docdir = $(prefix)/doc/@PACKAGE@
+-
+ doc_DATA = \
+ CUnit_doc.css \
+ error_handling.html \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
new file mode 100644
index 000000000..291501173
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "CxxTest is a unit testing framework for C++ that is similar in spirit to JUnit, CppUnit, and xUnit."
+HOMEPAGE = "http://cxxtest.com/"
+LICENSE = "LGPL-2.0"
+SECTION = "devel"
+
+SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/cxxtest-${PV}.tar.gz"
+SRC_URI[md5sum] = "b3a24b3e1aad9acf6adac37f4c3f83ec"
+SRC_URI[sha256sum] = "356d0f4810e8eb5c344147a0cca50fc0d84122c286e7644b61cb365c2ee22083"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/cxxtest-${PV}/COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+S = "${WORKDIR}/cxxtest-${PV}/python"
+
+inherit distutils
+
+do_install_append() {
+ install -d ${D}${includedir}
+ cp -a ../cxxtest ${D}${includedir}
+ sed '1c\
+#!/usr/bin/env python' -i ${D}${bindir}/cxxtestgen
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
new file mode 100644
index 000000000..fa0d6e2fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
@@ -0,0 +1,17 @@
+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"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "libxml2"
+
+SRCREV = "ab140a2dab1547f7deb5233be6d94a388cf08b26"
+SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git"
+
+PV = "1.33+${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fbtest/fb-test_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/fbtest/fb-test_git.bb
new file mode 100644
index 000000000..6a9d4b278
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fbtest/fb-test_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Test suite for Linux framebuffer"
+
+PV = "1.1.0"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2"
+SRC_URI = "git://github.com/prpplague/fb-test-app.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 fb-test ${D}${bindir}
+ # avoid collisions with perf (perf) and mesa-demos (offset)
+ for prog in perf rect offset ; do
+ install -m 0755 $prog ${D}${bindir}/fb-$prog
+ done
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
index 483dc1f2e..48cf4e04b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
@@ -7,16 +7,13 @@ LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd51
PROVIDES += "gmock"
+S = "${WORKDIR}/git"
+SRCREV = "ec44c6c1675c25b9827aacd08c02433cccde7780"
SRC_URI = "\
- https://github.com/google/googletest/archive/release-${PV}.tar.gz \
+ git://github.com/google/googletest.git;protocol=https; \
file://Add-pkg-config-support.patch \
"
-SRC_URI[md5sum] = "16877098823401d1bf2ed7891d7dce36"
-SRC_URI[sha256sum] = "58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8"
-
-S = "${WORKDIR}/googletest-release-${PV}"
-
inherit cmake
ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
new file mode 100644
index 000000000..1ee6573bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
@@ -0,0 +1,65 @@
+DESCRIPTION = "Utilities for testing Power Management"
+HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/PmQa"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PV = "0.5.2"
+
+BRANCH ?= "master"
+
+SRCREV = "05710ec5032be4c8edafb4109d4d908d31243906"
+
+SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-pthread"
+
+do_compile () {
+ # Find all the .c files in this project and build them.
+ for x in `find . -name "*.c"`
+ do
+ util=`echo ${x} | sed s/.c$//`
+ oe_runmake ${util}
+ done
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${libdir}/${BPN}
+
+ # Install the compiled binaries that were built in the previous step
+ for x in `find . -name "*.c"`
+ do
+ util=`echo ${x} | sed s/.c$//`
+ util_basename=`basename ${util}`
+ install -m 0755 ${util} ${D}${bindir}/${util_basename}
+ done
+
+ # Install the helper scripts in a subdirectory of $libdir
+ for script in `find . -name "*.sh" | grep include`
+ do
+ # Remove hardcoded relative paths
+ sed -i -e 's#..\/utils\/##' ${script}
+
+ script_basename=`basename ${script}`
+ install -m 0755 $script ${D}${libdir}/${BPN}/${script_basename}
+ done
+
+ # Install the shell scripts NOT in the $libdir directory since those
+ # will be installed elsewhere
+ for script in `find . -name "*.sh" | grep -v include`
+ do
+ # 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}
+ # Remove hardcoded relative paths
+ sed -i -e 's#..\/utils\/##' ${script}
+
+ script_basename=`basename ${script}`
+ install -m 0755 $script ${D}${bindir}/${script_basename}
+ done
+}
+RDEPENDS_${PN} +="bash"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
new file mode 100644
index 000000000..d604f860a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
@@ -0,0 +1,141 @@
+From 784dcd09d3f266e271d007f4fd257e85036872ca Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org>
+Date: Tue, 17 Oct 2017 10:13:20 -0500
+Subject: [PATCH] Several changes to fix musl build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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>
+
+Upstream-status: Pending
+
+---
+ cache.c | 4 ++++
+ stress-madvise.c | 1 +
+ stress-malloc.c | 2 +-
+ stress-pty.c | 18 ------------------
+ stress-resources.c | 1 -
+ stress-stackmmap.c | 2 +-
+ 6 files changed, 7 insertions(+), 21 deletions(-)
+
+diff --git a/cache.c b/cache.c
+index fbf7674..936c1ff 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 9e71e11..ddf8d2d 100644
+--- a/stress-madvise.c
++++ b/stress-madvise.c
+@@ -147,6 +147,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-malloc.c b/stress-malloc.c
+index a46b8c6..427827a 100644
+--- a/stress-malloc.c
++++ b/stress-malloc.c
+@@ -99,7 +99,7 @@ int stress_malloc(const args_t *args)
+ malloc_max = MIN_MALLOC_MAX;
+ }
+
+-#if defined(__GNUC__) && defined(__linux__)
++#if defined(__GNUC__) && defined(__linux__) && defined(M_MMAP_THRESHOLD)
+ if (get_setting("malloc-threshold", &malloc_threshold))
+ (void)mallopt(M_MMAP_THRESHOLD, (int)malloc_threshold);
+ #endif
+diff --git a/stress-pty.c b/stress-pty.c
+index 1bd1fbd..b1fe573 100644
+--- a/stress-pty.c
++++ b/stress-pty.c
+@@ -26,7 +26,6 @@
+
+ #if defined(__linux__)
+
+-#include <termio.h>
+ #include <termios.h>
+
+ typedef struct {
+@@ -108,7 +107,6 @@ int stress_pty(const args_t *args)
+ */
+ for (i = 0; i < n; i++) {
+ struct termios ios;
+- struct termio io;
+ struct winsize ws;
+ int arg;
+
+@@ -130,22 +128,6 @@ 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 958c99a..af79abd 100644
+--- a/stress-resources.c
++++ b/stress-resources.c
+@@ -31,7 +31,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 9c83a69..2984f09 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>
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch
new file mode 100644
index 000000000..ed3287e32
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch
@@ -0,0 +1,25 @@
+From faadbc147394cea9278bc2494f33e3521d88e742 Mon Sep 17 00:00:00 2001
+From: Tim Orling <timothy.t.orling@linux.intel.com>
+Date: Tue, 9 Jan 2018 18:38:45 -0800
+Subject: [PATCH] stress-fcntl: fix build for musl
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
+
+Upstream-status: Pending
+
+---
+ stress-fcntl.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/stress-fcntl.c b/stress-fcntl.c
+index 2ea867b..e91b345 100644
+--- a/stress-fcntl.c
++++ b/stress-fcntl.c
+@@ -415,6 +415,7 @@ ofd_lock_abort: { /* Nowt */ }
+ #if (defined(F_GET_FILE_RW_HINT) && defined(F_SET_FILE_RW_HINT)) | \
+ (defined(F_GET_RW_HINT) && defined(F_SET_RW_HINT))
+ {
++ int ret;
+ size_t i;
+ unsigned long hint;
+ static const unsigned long hints[] = {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb
new file mode 100644
index 000000000..7fab43025
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb
@@ -0,0 +1,25 @@
+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://0002-stress-fcntl-fix-build-for-musl.patch \
+ "
+SRC_URI_append_libc-musl = " \
+ file://0001-Several-changes-to-fix-musl-build.patch \
+ "
+SRC_URI[md5sum] = "1f8b6c2c2830704d2a2814c16082d48e"
+SRC_URI[sha256sum] = "02cac34a5cb041197af60c1867844c6cbb089a6d10a38cdcf7b8f27bfaa6ef8f"
+
+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/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
new file mode 100644
index 000000000..71782c5b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
@@ -0,0 +1,348 @@
+Upstream-Status: Inappropriate [configuration]
+
+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
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ 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
+
+diff --git a/SoftFloat-3a/build/Linux-Cross-Compile/Makefile b/SoftFloat-3a/build/Linux-Cross-Compile/Makefile
+new file mode 100644
+index 0000000..c4d0a60
+--- /dev/null
++++ b/SoftFloat-3a/build/Linux-Cross-Compile/Makefile
+@@ -0,0 +1,274 @@
++
++#=============================================================================
++#
++# This Makefile is part of the SoftFloat IEEE Floating-Point Arithmetic
++# Package, Release 3a, by John R. Hauser.
++#
++# Copyright 2011, 2012, 2013, 2014 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:
++#
++# 1. Redistributions of source code must retain the above copyright notice,
++# this list of conditions, and the following disclaimer.
++#
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions, and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#
++# 3. Neither the name of the University nor the names of its contributors
++# may be used to endorse or promote products derived from this software
++# without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
++# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
++# DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
++# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++#=============================================================================
++
++SOURCE_DIR = ../../source
++SPECIALIZE_TYPE = 8086
++
++SOFTFLOAT_OPTS = -DINLINE_LEVEL=5 -DSOFTFLOAT_FAST_DIV64TO32 -fgnu89-inline
++
++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 $@
++MAKELIB = ${AR} crs $@
++
++OBJ = .o
++LIB = .a
++
++.PHONY: all
++all: softfloat$(LIB)
++
++OBJS_PRIMITIVES = \
++ s_compare96M$(OBJ) \
++ s_compare128M$(OBJ) \
++ s_shortShiftLeft64To96M$(OBJ) \
++ s_shortShiftLeftM$(OBJ) \
++ s_shiftLeftM$(OBJ) \
++ s_shortShiftRightM$(OBJ) \
++ s_shortShiftRightJam64$(OBJ) \
++ s_shortShiftRightJamM$(OBJ) \
++ s_shiftRightJam32$(OBJ) \
++ s_shiftRightJam64$(OBJ) \
++ s_shiftRightJamM$(OBJ) \
++ s_shiftRightM$(OBJ) \
++ s_countLeadingZeros8$(OBJ) \
++ s_countLeadingZeros32$(OBJ) \
++ s_countLeadingZeros64$(OBJ) \
++ s_addM$(OBJ) \
++ s_addCarryM$(OBJ) \
++ s_addComplCarryM$(OBJ) \
++ s_negXM$(OBJ) \
++ s_sub1XM$(OBJ) \
++ s_subM$(OBJ) \
++ s_mul64To128M$(OBJ) \
++ s_mul128MTo256M$(OBJ) \
++ s_approxRecip32_1$(OBJ) \
++ s_approxRecipSqrt32_1$(OBJ) \
++ s_remStepMBy32$(OBJ) \
++
++OBJS_SPECIALIZE = \
++ softfloat_raiseFlags$(OBJ) \
++ s_f32UIToCommonNaN$(OBJ) \
++ s_commonNaNToF32UI$(OBJ) \
++ s_propagateNaNF32UI$(OBJ) \
++ s_f64UIToCommonNaN$(OBJ) \
++ s_commonNaNToF64UI$(OBJ) \
++ s_propagateNaNF64UI$(OBJ) \
++ extF80M_isSignalingNaN$(OBJ) \
++ s_extF80MToCommonNaN$(OBJ) \
++ s_commonNaNToExtF80M$(OBJ) \
++ s_propagateNaNExtF80M$(OBJ) \
++ f128M_isSignalingNaN$(OBJ) \
++ s_f128MToCommonNaN$(OBJ) \
++ s_commonNaNToF128M$(OBJ) \
++ s_propagateNaNF128M$(OBJ) \
++
++OBJS_OTHERS = \
++ s_roundPackToUI32$(OBJ) \
++ s_roundPackMToUI64$(OBJ) \
++ s_roundPackToI32$(OBJ) \
++ s_roundPackMToI64$(OBJ) \
++ s_normSubnormalF32Sig$(OBJ) \
++ s_roundPackToF32$(OBJ) \
++ s_normRoundPackToF32$(OBJ) \
++ s_addMagsF32$(OBJ) \
++ s_subMagsF32$(OBJ) \
++ s_mulAddF32$(OBJ) \
++ s_normSubnormalF64Sig$(OBJ) \
++ s_roundPackToF64$(OBJ) \
++ s_normRoundPackToF64$(OBJ) \
++ s_addMagsF64$(OBJ) \
++ s_subMagsF64$(OBJ) \
++ s_mulAddF64$(OBJ) \
++ s_tryPropagateNaNExtF80M$(OBJ) \
++ s_invalidExtF80M$(OBJ) \
++ s_normExtF80SigM$(OBJ) \
++ s_roundPackMToExtF80M$(OBJ) \
++ s_normRoundPackMToExtF80M$(OBJ) \
++ s_addExtF80M$(OBJ) \
++ s_compareNonnormExtF80M$(OBJ) \
++ s_isNaNF128M$(OBJ) \
++ s_tryPropagateNaNF128M$(OBJ) \
++ s_invalidF128M$(OBJ) \
++ s_shiftNormSigF128M$(OBJ) \
++ s_roundPackMToF128M$(OBJ) \
++ s_normRoundPackMToF128M$(OBJ) \
++ s_addF128M$(OBJ) \
++ s_mulAddF128M$(OBJ) \
++ softfloat_state$(OBJ) \
++ ui32_to_f32$(OBJ) \
++ ui32_to_f64$(OBJ) \
++ ui32_to_extF80M$(OBJ) \
++ ui32_to_f128M$(OBJ) \
++ ui64_to_f32$(OBJ) \
++ ui64_to_f64$(OBJ) \
++ ui64_to_extF80M$(OBJ) \
++ ui64_to_f128M$(OBJ) \
++ i32_to_f32$(OBJ) \
++ i32_to_f64$(OBJ) \
++ i32_to_extF80M$(OBJ) \
++ i32_to_f128M$(OBJ) \
++ i64_to_f32$(OBJ) \
++ i64_to_f64$(OBJ) \
++ i64_to_extF80M$(OBJ) \
++ i64_to_f128M$(OBJ) \
++ f32_to_ui32$(OBJ) \
++ f32_to_ui64$(OBJ) \
++ f32_to_i32$(OBJ) \
++ f32_to_i64$(OBJ) \
++ f32_to_ui32_r_minMag$(OBJ) \
++ f32_to_ui64_r_minMag$(OBJ) \
++ f32_to_i32_r_minMag$(OBJ) \
++ f32_to_i64_r_minMag$(OBJ) \
++ f32_to_f64$(OBJ) \
++ f32_to_extF80M$(OBJ) \
++ f32_to_f128M$(OBJ) \
++ f32_roundToInt$(OBJ) \
++ f32_add$(OBJ) \
++ f32_sub$(OBJ) \
++ f32_mul$(OBJ) \
++ f32_mulAdd$(OBJ) \
++ f32_div$(OBJ) \
++ f32_rem$(OBJ) \
++ f32_sqrt$(OBJ) \
++ f32_eq$(OBJ) \
++ f32_le$(OBJ) \
++ f32_lt$(OBJ) \
++ f32_eq_signaling$(OBJ) \
++ f32_le_quiet$(OBJ) \
++ f32_lt_quiet$(OBJ) \
++ f32_isSignalingNaN$(OBJ) \
++ f64_to_ui32$(OBJ) \
++ f64_to_ui64$(OBJ) \
++ f64_to_i32$(OBJ) \
++ f64_to_i64$(OBJ) \
++ f64_to_ui32_r_minMag$(OBJ) \
++ f64_to_ui64_r_minMag$(OBJ) \
++ f64_to_i32_r_minMag$(OBJ) \
++ f64_to_i64_r_minMag$(OBJ) \
++ f64_to_f32$(OBJ) \
++ f64_to_extF80M$(OBJ) \
++ f64_to_f128M$(OBJ) \
++ f64_roundToInt$(OBJ) \
++ f64_add$(OBJ) \
++ f64_sub$(OBJ) \
++ f64_mul$(OBJ) \
++ f64_mulAdd$(OBJ) \
++ f64_div$(OBJ) \
++ f64_rem$(OBJ) \
++ f64_sqrt$(OBJ) \
++ f64_eq$(OBJ) \
++ f64_le$(OBJ) \
++ f64_lt$(OBJ) \
++ f64_eq_signaling$(OBJ) \
++ f64_le_quiet$(OBJ) \
++ f64_lt_quiet$(OBJ) \
++ f64_isSignalingNaN$(OBJ) \
++ extF80M_to_ui32$(OBJ) \
++ extF80M_to_ui64$(OBJ) \
++ extF80M_to_i32$(OBJ) \
++ extF80M_to_i64$(OBJ) \
++ extF80M_to_ui32_r_minMag$(OBJ) \
++ extF80M_to_ui64_r_minMag$(OBJ) \
++ extF80M_to_i32_r_minMag$(OBJ) \
++ extF80M_to_i64_r_minMag$(OBJ) \
++ extF80M_to_f32$(OBJ) \
++ extF80M_to_f64$(OBJ) \
++ extF80M_to_f128M$(OBJ) \
++ extF80M_roundToInt$(OBJ) \
++ extF80M_add$(OBJ) \
++ extF80M_sub$(OBJ) \
++ extF80M_mul$(OBJ) \
++ extF80M_div$(OBJ) \
++ extF80M_rem$(OBJ) \
++ extF80M_sqrt$(OBJ) \
++ extF80M_eq$(OBJ) \
++ extF80M_le$(OBJ) \
++ extF80M_lt$(OBJ) \
++ extF80M_eq_signaling$(OBJ) \
++ extF80M_le_quiet$(OBJ) \
++ extF80M_lt_quiet$(OBJ) \
++ f128M_to_ui32$(OBJ) \
++ f128M_to_ui64$(OBJ) \
++ f128M_to_i32$(OBJ) \
++ f128M_to_i64$(OBJ) \
++ f128M_to_ui32_r_minMag$(OBJ) \
++ f128M_to_ui64_r_minMag$(OBJ) \
++ f128M_to_i32_r_minMag$(OBJ) \
++ f128M_to_i64_r_minMag$(OBJ) \
++ f128M_to_f32$(OBJ) \
++ f128M_to_f64$(OBJ) \
++ f128M_to_extF80M$(OBJ) \
++ f128M_roundToInt$(OBJ) \
++ f128M_add$(OBJ) \
++ f128M_sub$(OBJ) \
++ f128M_mul$(OBJ) \
++ f128M_mulAdd$(OBJ) \
++ f128M_div$(OBJ) \
++ f128M_rem$(OBJ) \
++ f128M_sqrt$(OBJ) \
++ f128M_eq$(OBJ) \
++ f128M_le$(OBJ) \
++ f128M_lt$(OBJ) \
++ f128M_eq_signaling$(OBJ) \
++ f128M_le_quiet$(OBJ) \
++ f128M_lt_quiet$(OBJ) \
++
++OBJS_ALL = $(OBJS_PRIMITIVES) $(OBJS_SPECIALIZE) $(OBJS_OTHERS)
++
++$(OBJS_ALL): \
++ 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 \
++ $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/specialize.h \
++ $(SOURCE_DIR)/include/softfloat.h
++
++$(OBJS_PRIMITIVES) $(OBJS_OTHERS): %$(OBJ): $(SOURCE_DIR)/%.c
++ $(COMPILE_C) $(SOURCE_DIR)/$*.c
++
++$(OBJS_SPECIALIZE): %$(OBJ): $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/%.c
++ $(COMPILE_C) $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/$*.c
++
++softfloat$(LIB): $(OBJS_ALL)
++ $(DELETE) $@
++ $(MAKELIB) $^
++
++.PHONY: clean
++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
+new file mode 100644
+index 0000000..5e566fc
+--- /dev/null
++++ b/SoftFloat-3a/build/Linux-Cross-Compile/platform.h
+@@ -0,0 +1,44 @@
++
++/*============================================================================
++
++This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
++Package, Release 3a, by John R. Hauser.
++
++Copyright 2011, 2012, 2013, 2014 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:
++
++ 1. Redistributions of source code must retain the above copyright notice,
++ this list of conditions, and the following disclaimer.
++
++ 2. Redistributions in binary form must reproduce the above copyright notice,
++ this list of conditions, and the following disclaimer in the documentation
++ and/or other materials provided with the distribution.
++
++ 3. Neither the name of the University nor the names of its contributors may
++ be used to endorse or promote products derived from this software without
++ specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
++EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
++DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
++DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++=============================================================================*/
++
++/*----------------------------------------------------------------------------
++*----------------------------------------------------------------------------*/
++#define LITTLEENDIAN 1
++
++/*----------------------------------------------------------------------------
++*----------------------------------------------------------------------------*/
++#define INLINE extern inline
++
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
new file mode 100644
index 000000000..71ca343cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
@@ -0,0 +1,396 @@
+Upstream-Status: Inappropriate [configuration]
+
+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
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ 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
+
+diff --git a/TestFloat-3a/build/Linux-Cross-Compile/Makefile b/TestFloat-3a/build/Linux-Cross-Compile/Makefile
+new file mode 100644
+index 0000000..a89326a
+--- /dev/null
++++ b/TestFloat-3a/build/Linux-Cross-Compile/Makefile
+@@ -0,0 +1,321 @@
++
++#=============================================================================
++#
++# 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.
++#
++# Copyright 2011, 2012, 2013, 2014, 2015 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:
++#
++# 1. Redistributions of source code must retain the above copyright notice,
++# this list of conditions, and the following disclaimer.
++#
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions, and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#
++# 3. Neither the name of the University nor the names of its contributors
++# may be used to endorse or promote products derived from this software
++# without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
++# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
++# DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
++# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++#=============================================================================
++
++SOURCE_DIR = ../../source
++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
++
++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 $@
++COMPILE_SLOWFLOAT_C = \
++ ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \
++ $(C_INCLUDES) -O3 -o $@
++MAKELIB = ${AR} crs $@
++LINK = ${CC} -o $@ ${LDFLAGS}
++OTHER_LIBS = -lm
++
++OBJ = .o
++LIB = .a
++EXE =
++
++.PHONY: all
++all: \
++ testsoftfloat$(EXE) \
++ timesoftfloat$(EXE) \
++ testfloat_gen$(EXE) \
++ testfloat_ver$(EXE) \
++ testfloat$(EXE) \
++
++OBJS_GENCASES = \
++ genCases_ui32$(OBJ) \
++ genCases_ui64$(OBJ) \
++ genCases_i32$(OBJ) \
++ genCases_i64$(OBJ) \
++ genCases_f32$(OBJ) \
++ genCases_f64$(OBJ) \
++ genCases_extF80$(OBJ) \
++ genCases_f128$(OBJ) \
++
++OBJS_WRITECASE = \
++ writeCase_a_ui32$(OBJ) \
++ writeCase_a_ui64$(OBJ) \
++ writeCase_a_f32$(OBJ) \
++ writeCase_ab_f32$(OBJ) \
++ writeCase_abc_f32$(OBJ) \
++ writeCase_a_f64$(OBJ) \
++ writeCase_ab_f64$(OBJ) \
++ 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_f32$(OBJ) \
++ writeCase_z_f64$(OBJ) \
++ writeCase_z_extF80M$(OBJ) \
++ writeCase_z_f128M$(OBJ) \
++
++OBJS_TEST = \
++ 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_f32$(OBJ) \
++ test_a_ui64_z_f64$(OBJ) \
++ test_a_ui64_z_extF80$(OBJ) \
++ test_a_ui64_z_f128$(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_f32$(OBJ) \
++ test_a_i64_z_f64$(OBJ) \
++ test_a_i64_z_extF80$(OBJ) \
++ test_a_i64_z_f128$(OBJ) \
++ test_a_f32_z_ui32_rx$(OBJ) \
++ test_a_f32_z_ui64_rx$(OBJ) \
++ test_a_f32_z_i32_rx$(OBJ) \
++ test_a_f32_z_i64_rx$(OBJ) \
++ test_a_f32_z_ui32_x$(OBJ) \
++ 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_f64$(OBJ) \
++ test_a_f32_z_extF80$(OBJ) \
++ test_a_f32_z_f128$(OBJ) \
++ test_az_f32$(OBJ) \
++ test_az_f32_rx$(OBJ) \
++ test_abz_f32$(OBJ) \
++ test_abcz_f32$(OBJ) \
++ test_ab_f32_z_bool$(OBJ) \
++ test_a_f64_z_ui32_rx$(OBJ) \
++ test_a_f64_z_ui64_rx$(OBJ) \
++ test_a_f64_z_i32_rx$(OBJ) \
++ test_a_f64_z_i64_rx$(OBJ) \
++ test_a_f64_z_ui32_x$(OBJ) \
++ 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_f32$(OBJ) \
++ test_a_f64_z_extF80$(OBJ) \
++ test_a_f64_z_f128$(OBJ) \
++ test_az_f64$(OBJ) \
++ test_az_f64_rx$(OBJ) \
++ test_abz_f64$(OBJ) \
++ test_abcz_f64$(OBJ) \
++ test_ab_f64_z_bool$(OBJ) \
++ test_a_extF80_z_ui32_rx$(OBJ) \
++ test_a_extF80_z_ui64_rx$(OBJ) \
++ test_a_extF80_z_i32_rx$(OBJ) \
++ test_a_extF80_z_i64_rx$(OBJ) \
++ test_a_extF80_z_ui32_x$(OBJ) \
++ 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_f32$(OBJ) \
++ test_a_extF80_z_f64$(OBJ) \
++ test_a_extF80_z_f128$(OBJ) \
++ test_az_extF80$(OBJ) \
++ test_az_extF80_rx$(OBJ) \
++ test_abz_extF80$(OBJ) \
++ test_ab_extF80_z_bool$(OBJ) \
++ test_a_f128_z_ui32_rx$(OBJ) \
++ test_a_f128_z_ui64_rx$(OBJ) \
++ test_a_f128_z_i32_rx$(OBJ) \
++ test_a_f128_z_i64_rx$(OBJ) \
++ test_a_f128_z_ui32_x$(OBJ) \
++ 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_f32$(OBJ) \
++ test_a_f128_z_f64$(OBJ) \
++ test_a_f128_z_extF80$(OBJ) \
++ test_az_f128$(OBJ) \
++ test_az_f128_rx$(OBJ) \
++ test_abz_f128$(OBJ) \
++ test_abcz_f128$(OBJ) \
++ test_ab_f128_z_bool$(OBJ) \
++
++OBJS_LIB = \
++ uint128$(OBJ) \
++ fail$(OBJ) \
++ functions_common$(OBJ) \
++ functionInfos$(OBJ) \
++ standardFunctionInfos$(OBJ) \
++ random$(OBJ) \
++ genCases_common$(OBJ) \
++ $(OBJS_GENCASES) \
++ genCases_writeTestsTotal$(OBJ) \
++ verCases_common$(OBJ) \
++ verCases_writeFunctionName$(OBJ) \
++ readHex$(OBJ) \
++ writeHex$(OBJ) \
++ $(OBJS_WRITECASE) \
++ testLoops_common$(OBJ) \
++ $(OBJS_TEST) \
++
++uint128$(OBJ): $(SOURCE_DIR)/uint128.h
++fail$(OBJ): $(SOURCE_DIR)/fail.h
++functions_common$(OBJ): $(SOFTFLOAT_H) $(SOURCE_DIR)/functions.h
++functionInfos$(OBJ): $(SOURCE_DIR)/functions.h
++standardFunctionInfos$(OBJ): $(SOURCE_DIR)/functions.h
++random$(OBJ): $(SOURCE_DIR)/random.h
++genCases_common$(OBJ): $(SOURCE_DIR)/fail.h $(SOURCE_DIR)/genCases.h
++$(OBJS_GENCASES): \
++ $(SOURCE_DIR)/random.h $(SOFTFLOAT_H) $(SOURCE_DIR)/genCases.h
++genCases_f128$(OBJ): $(SOURCE_DIR)/uint128.h
++genCases_writeTestsTotal$(OBJ): $(SOURCE_DIR)/genCases.h
++verCases_common$(OBJ): $(SOURCE_DIR)/verCases.h
++verCases_writeFunctionName$(OBJ): $(SOURCE_DIR)/verCases.h
++readHex$(OBJ): $(SOURCE_DIR)/readHex.h
++writeHex$(OBJ): $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) $(SOURCE_DIR)/writeHex.h
++$(OBJS_WRITECASE): \
++ $(SOFTFLOAT_H) $(SOURCE_DIR)/writeHex.h $(SOURCE_DIR)/writeCase.h
++testLoops_common$(OBJ): $(SOURCE_DIR)/testLoops.h
++$(OBJS_TEST): \
++ $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) $(SOURCE_DIR)/genCases.h \
++ $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h $(SOURCE_DIR)/testLoops.h
++$(OBJS_LIB): %$(OBJ): platform.h $(SOURCE_DIR)/%.c
++ $(COMPILE_C) $(SOURCE_DIR)/$*.c
++testfloat$(LIB): $(OBJS_LIB)
++ $(MAKELIB) $^
++
++OBJS_TESTSOFTFLOAT = slowfloat$(OBJ) testsoftfloat$(OBJ)
++
++slowfloat$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOFTFLOAT_H) \
++ $(SOURCE_DIR)/slowfloat.h $(SOURCE_DIR)/slowfloat.c
++ $(COMPILE_SLOWFLOAT_C) $(SOURCE_DIR)/slowfloat.c
++testsoftfloat$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \
++ $(SOURCE_DIR)/slowfloat.h $(SOURCE_DIR)/functions.h \
++ $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h \
++ $(SOURCE_DIR)/testLoops.h $(SOURCE_DIR)/testsoftfloat.c
++ $(COMPILE_C) $(SOURCE_DIR)/testsoftfloat.c
++
++testsoftfloat$(EXE): $(OBJS_TESTSOFTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB)
++ $(LINK) $^ $(OTHER_LIBS)
++
++OBJS_TIMESOFTFLOAT = timesoftfloat$(OBJ)
++
++timesoftfloat$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \
++ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/timesoftfloat.c
++ $(COMPILE_C) $(SOURCE_DIR)/timesoftfloat.c
++
++timesoftfloat$(EXE): $(OBJS_TIMESOFTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB)
++ $(LINK) $^ $(OTHER_LIBS)
++
++OBJS_TESTFLOAT_GEN = genLoops$(OBJ) testfloat_gen$(OBJ)
++
++genLoops$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \
++ $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/writeHex.h $(SOURCE_DIR)/genLoops.h \
++ $(SOURCE_DIR)/genLoops.c
++ $(COMPILE_C) $(SOURCE_DIR)/genLoops.c
++testfloat_gen$(OBJ): \
++ $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) $(SOURCE_DIR)/functions.h \
++ $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/genLoops.h \
++ $(SOURCE_DIR)/testfloat_gen.c
++ $(COMPILE_C) $(SOURCE_DIR)/testfloat_gen.c
++
++testfloat_gen$(EXE): $(OBJS_TESTFLOAT_GEN) testfloat$(LIB) $(SOFTFLOAT_LIB)
++ $(LINK) $^ $(OTHER_LIBS)
++
++OBJS_TESTFLOAT_VER = verLoops$(OBJ) testfloat_ver$(OBJ)
++
++verLoops$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \
++ $(SOURCE_DIR)/readHex.h $(SOURCE_DIR)/verCases.h $(SOURCE_DIR)/writeCase.h \
++ $(SOURCE_DIR)/verLoops.h $(SOURCE_DIR)/verLoops.c
++ $(COMPILE_C) $(SOURCE_DIR)/verLoops.c
++testfloat_ver$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \
++ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/verCases.h \
++ $(SOURCE_DIR)/writeCase.h $(SOURCE_DIR)/verLoops.h \
++ $(SOURCE_DIR)/testfloat_ver.c
++ $(COMPILE_C) $(SOURCE_DIR)/testfloat_ver.c
++
++testfloat_ver$(EXE): $(OBJS_TESTFLOAT_VER) testfloat$(LIB) $(SOFTFLOAT_LIB)
++ $(LINK) $^ $(OTHER_LIBS)
++
++OBJS_TESTFLOAT = subjfloat$(OBJ) subjfloat_functions$(OBJ) testfloat$(OBJ)
++
++subjfloat$(OBJ): \
++ platform.h $(SOFTFLOAT_H) $(SUBJ_SOURCE_DIR)/subjfloat_config.h \
++ $(SOURCE_DIR)/subjfloat.h $(SUBJ_SOURCE_DIR)/subjfloat.c
++ $(COMPILE_C) $(SUBJ_SOURCE_DIR)/subjfloat.c
++subjfloat_functions$(OBJ): \
++ platform.h $(SUBJ_SOURCE_DIR)/subjfloat_config.h $(SOURCE_DIR)/subjfloat.h \
++ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/subjfloat_functions.c
++ $(COMPILE_C) $(SOURCE_DIR)/subjfloat_functions.c
++testfloat$(OBJ): \
++ platform.h $(SOURCE_DIR)/uint128.h $(SOURCE_DIR)/fail.h $(SOFTFLOAT_H) \
++ $(SUBJ_SOURCE_DIR)/subjfloat_config.h $(SOURCE_DIR)/subjfloat.h \
++ $(SOURCE_DIR)/functions.h $(SOURCE_DIR)/genCases.h $(SOURCE_DIR)/verCases.h \
++ $(SOURCE_DIR)/testLoops.h $(SOURCE_DIR)/testfloat.c
++ $(COMPILE_C) $(SOURCE_DIR)/testfloat.c
++
++testfloat$(EXE): $(OBJS_TESTFLOAT) testfloat$(LIB) $(SOFTFLOAT_LIB)
++ $(LINK) $^ $(OTHER_LIBS)
++
++.PHONY: clean
++clean:
++ $(DELETE) $(OBJS_LIB) testfloat$(LIB)
++ $(DELETE) $(OBJS_TESTSOFTFLOAT) testsoftfloat$(EXE)
++ $(DELETE) $(OBJS_TIMESOFTFLOAT) timesoftfloat$(EXE)
++ $(DELETE) $(OBJS_TESTFLOAT_GEN) testfloat_gen$(EXE)
++ $(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
+new file mode 100644
+index 0000000..09e63a0
+--- /dev/null
++++ b/TestFloat-3a/build/Linux-Cross-Compile/platform.h
+@@ -0,0 +1,45 @@
++
++/*============================================================================
++
++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.
++
++Copyright 2011, 2012, 2013, 2014 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:
++
++ 1. Redistributions of source code must retain the above copyright notice,
++ this list of conditions, and the following disclaimer.
++
++ 2. Redistributions in binary form must reproduce the above copyright notice,
++ this list of conditions, and the following disclaimer in the documentation
++ and/or other materials provided with the distribution.
++
++ 3. Neither the name of the University nor the names of its contributors may
++ be used to endorse or promote products derived from this software without
++ specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
++EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
++DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
++DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++=============================================================================*/
++
++/*----------------------------------------------------------------------------
++*----------------------------------------------------------------------------*/
++#define LITTLEENDIAN 1
++
++/*----------------------------------------------------------------------------
++*----------------------------------------------------------------------------*/
++#define INLINE extern inline
++
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
new file mode 100644
index 000000000..28e967762
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
@@ -0,0 +1,35 @@
+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"
+
+SRC_URI = "\
+ http://www.jhauser.us/arithmetic/TestFloat-3a.zip;name=TestFloat \
+ http://www.jhauser.us/arithmetic/SoftFloat-3a.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"
+
+S = "${WORKDIR}"
+
+do_compile(){
+ oe_runmake -C SoftFloat-${PV}/build/Linux-Cross-Compile/
+ oe_runmake -C TestFloat-${PV}/build/Linux-Cross-Compile/
+}
+
+do_install(){
+ install -d ${D}/${bindir}
+ install ${S}/TestFloat-${PV}/build/Linux-Cross-Compile/testfloat ${D}/${bindir}
+ install ${S}/TestFloat-${PV}/build/Linux-Cross-Compile/testfloat_gen ${D}/${bindir}
+ install ${S}/TestFloat-${PV}/build/Linux-Cross-Compile/testfloat_ver ${D}/${bindir}
+ install ${S}/TestFloat-${PV}/build/Linux-Cross-Compile/testsoftfloat ${D}/${bindir}
+ install ${S}/TestFloat-${PV}/build/Linux-Cross-Compile/timesoftfloat ${D}/${bindir}
+}