Yocto 2.3

Move OpenBMC to Yocto 2.3(pyro).

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I50744030e771f4850afc2a93a10d3507e76d36bc
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Resolves: openbmc/openbmc#2461
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch
deleted file mode 100644
index 00eb2ed..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3fb9b6aeed2e2758239e59ba9ba1ca98535fe510 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Fri, 19 Aug 2016 15:08:44 +0000
-Subject: [PATCH] Fix build error due missing space before macro
-Organization: O.S. Systems Software LTDA.
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- src/native-state-x11.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/native-state-x11.cpp b/src/native-state-x11.cpp
-index 3b66b77..3c1703b 100644
---- a/src/native-state-x11.cpp
-+++ b/src/native-state-x11.cpp
-@@ -60,7 +60,7 @@ NativeStateX11::display()
- bool
- NativeStateX11::create_window(WindowProperties const& properties)
- {
--    static const char *win_name("glmark2 "GLMARK_VERSION);
-+    static const char *win_name("glmark2 " GLMARK_VERSION);
- 
-     if (!xdpy_) {
-         Log::error("Error: X11 Display has not been initialized!\n");
--- 
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch
deleted file mode 100644
index 7a25de7..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Index: git/src/image-reader.cpp
-===================================================================
---- git.orig/src/image-reader.cpp	2016-07-29 16:17:51.000000000 -0500
-+++ git/src/image-reader.cpp	2016-07-29 16:18:43.000000000 -0500
-@@ -120,7 +120,7 @@
- 
-     Log::debug("Reading PNG file %s\n", filename.c_str());
- 
--    const std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
-+    const std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
-     if (!(*is_ptr)) {
-         Log::error("Cannot open file %s!\n", filename.c_str());
-         return false;
-Index: git/src/libmatrix/shader-source.cc
-===================================================================
---- git.orig/src/libmatrix/shader-source.cc	2016-07-29 16:18:14.000000000 -0500
-+++ git/src/libmatrix/shader-source.cc	2016-07-29 16:18:43.000000000 -0500
-@@ -34,7 +34,7 @@
- bool
- ShaderSource::load_file(const std::string& filename, std::string& str)
- {
--    std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
-+    std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
-     std::istream& inputFile(*is_ptr);
- 
-     if (!inputFile)
-Index: git/src/model.cpp
-===================================================================
---- git.orig/src/model.cpp	2016-07-29 16:18:00.000000000 -0500
-+++ git/src/model.cpp	2016-07-29 16:18:43.000000000 -0500
-@@ -361,7 +361,7 @@
- 
-     Log::debug("Loading model from 3ds file '%s'\n", filename.c_str());
- 
--    const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-+    const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-     std::istream& input_file(*input_file_ptr);
- 
-     if (!input_file) {
-@@ -681,7 +681,7 @@
- {
-     Log::debug("Loading model from obj file '%s'\n", filename.c_str());
- 
--    const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-+    const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-     std::istream& inputFile(*input_file_ptr);
-     if (!inputFile)
-     {
-Index: git/src/scene-jellyfish.cpp
-===================================================================
---- git.orig/src/scene-jellyfish.cpp	2016-07-29 16:18:08.000000000 -0500
-+++ git/src/scene-jellyfish.cpp	2016-07-29 16:18:43.000000000 -0500
-@@ -272,7 +272,7 @@
- {
-     Log::debug("Loading model from file '%s'\n", filename.c_str());
- 
--    const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-+    const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-     std::istream& inputFile(*input_file_ptr);
-     if (!inputFile)
-     {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
index ff13329..72b8deb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
@@ -18,9 +18,9 @@
 --- a/wscript
 +++ b/wscript
 @@ -121,13 +121,17 @@ def configure(ctx):
-                 ('mirclient','mirclient', '0.13', list_contains(Options.options.flavors, 'mir')),
-                 ('wayland-client','wayland-client', None, list_contains(Options.options.flavors, 'wayland')),
-                 ('wayland-egl','wayland-egl', None, list_contains(Options.options.flavors, 'wayland'))]
+                 ('mirclient','mirclient', '0.13', list_contains(ctx.options.flavors, 'mir')),
+                 ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')),
+                 ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))]
 -    for (pkg, uselib, atleast, mandatory) in opt_pkgs:
 +    for (pkg, uselib, atleast, check) in opt_pkgs:
 +        # Check packages required by the flavors
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index a2558a7..26c5c04 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -12,13 +12,13 @@
 
 PV = "2014.03+${SRCPV}"
 
-SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \
-           file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch \
-           file://0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch \
-           file://Fix-build-error-due-missing-space-before-macro.patch \
-           file://Fix-configure-for-sqrt-check.patch \
-           file://Fix-deprecated-declarations.patch"
-SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
+SRC_URI = " \
+    git://github.com/glmark2/glmark2.git;protocol=https \
+    file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch \
+    file://0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch \
+    file://Fix-configure-for-sqrt-check.patch \
+"
+SRCREV = "f413c5b423250b4fde8f95639ad368d5b02c5b9b"
 
 S = "${WORKDIR}/git"
 
@@ -39,7 +39,7 @@
 PACKAGECONFIG[wayland-gles2] = ",,virtual/libgles2 wayland"
 
 python __anonymous() {
-    packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
+    packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
     flavors = []
     if "x11-gles2" in packageconfig:
         flavors.append("x11-glesv2")
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
new file mode 100644
index 0000000..d5622ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
@@ -0,0 +1,97 @@
+remove libasync.o and libbif.o from deps
+
+there are no implicit rules to build them and they get wrong CFLAGS
+when compiled with implicit rule.
+
+They are built as part of iozone_linux.o target anyway
+
+Only fixed linux targets for now
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+
+
+--- current/makefile.org	2016-12-06 02:19:10.367911020 +0000
++++ current/makefile	2016-12-06 02:21:38.767911020 +0000
+@@ -167,7 +167,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O 
+ #
+-linux:	iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o
++linux:	iozone_linux.o fileop_linux.o pit_server.o
+ 	$(CC)  -O3 $(LDFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \
+ 		-lrt -o iozone
+ 	$(CC)  -O3 -Dlinux fileop_linux.o -o fileop
+@@ -176,7 +176,7 @@
+ #
+ # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O 
+ #
+-linux-powerpc: iozone_linux-powerpc.o  libbif.o libasync.o fileop_linux-ppc.o pit_server.o
++linux-powerpc: iozone_linux-powerpc.o fileop_linux-ppc.o pit_server.o
+ 	$(CC) -O3 $(LDFLAGS) iozone_linux-powerpc.o libasync.o \
+ 		libbif.o -lpthread  -lrt -o iozone
+ 	$(CC)  -O3 -Dlinux fileop_linux-ppc.o -o fileop
+@@ -184,7 +184,7 @@
+ #
+ # GNU 'C' compiler Linux build for sparc chip with threads, largefiles, async I/O 
+ #
+-linux-sparc: iozone_linux-sparc.o  libbif.o libasync.o fileop_linux.o pit_server.o
++linux-sparc: iozone_linux-sparc.o fileop_linux.o pit_server.o
+ 	$(CC) -O3 $(LDFLAGS) iozone_linux-sparc.o libasync.o libbif.o \
+ 		-lpthread -lrt -o iozone
+ 	$(CC) -O3 -Dlinux fileop_linux.o -o fileop
+@@ -193,7 +193,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O 
+ #
+-linux-ia64:	iozone_linux-ia64.o  libbif.o libasync.o fileop_linux-ia64.o pit_server.o
++linux-ia64:	iozone_linux-ia64.o fileop_linux-ia64.o pit_server.o
+ 	$(CC) -O3 $(LDFLAGS) iozone_linux-ia64.o libbif.o libasync.o \
+ 		-lrt -lpthread -o iozone
+ 	$(CC)  -O3 -Dlinux fileop_linux-ia64.o -o fileop
+@@ -202,7 +202,7 @@
+ #
+ # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O 
+ #
+-linux-powerpc64: iozone_linux-powerpc64.o  libbif.o libasync.o fileop_linux-ppc64.o pit_server-linux-powerpc64.o
++linux-powerpc64: iozone_linux-powerpc64.o fileop_linux-ppc64.o pit_server-linux-powerpc64.o
+ 	$(CC) -O3 -Dunix -DHAVE_ANSIC_C -DSHARED_MEM -DASYNC_IO \
+ 		-D_LARGEFILE64_SOURCE -Dlinux \
+ 		iozone_linux-powerpc64.o libasync.o libbif.o -lpthread \
+@@ -213,7 +213,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O
+ #
+-linux-arm:	iozone_linux-arm.o  libbif.o libasync.o fileop_linux-arm.o pit_server.o
++linux-arm:	iozone_linux-arm.o fileop_linux-arm.o pit_server.o
+ 	$(CC) -O3 $(LDFLAGS) iozone_linux-arm.o libbif.o libasync.o \
+ 		-lrt -lpthread -o iozone
+ 	$(CC) -O3 -Dlinux fileop_linux-arm.o -o fileop
+@@ -222,7 +222,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O 
+ #
+-linux-AMD64:	iozone_linux-AMD64.o  libbif.o libasync.o fileop_linux-AMD64.o pit_server.o
++linux-AMD64:	iozone_linux-AMD64.o fileop_linux-AMD64.o pit_server.o
+ 	$(CC)  -O3 $(LDFLAGS) iozone_linux-AMD64.o libbif.o libasync.o \
+ 		-lrt -lpthread -o iozone
+ 	$(CC)  -O3 -Dlinux fileop_linux-AMD64.o -o fileop
+@@ -231,7 +231,7 @@
+ #
+ # GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
+ #
+-linux-S390:	iozone_linux-s390.o libbif.o libasync.o fileop_linux-s390.o pit_server.o
++linux-S390:	iozone_linux-s390.o fileop_linux-s390.o pit_server.o
+ 	$(CC)  -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390.o \
+ 		libbif.o libasync.o -o iozone
+ 	$(CC)  -O3 -Dlinux fileop_linux-s390.o -o fileop
+@@ -240,7 +240,7 @@
+ #
+ # GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
+ #
+-linux-S390X:	iozone_linux-s390x.o libbif.o libasync.o fileop_linux-s390x.o pit_server.o
++linux-S390X:	iozone_linux-s390x.o fileop_linux-s390x.o pit_server.o
+ 	$(CC)  -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390x.o \
+ 		libbif.o libasync.o -o iozone
+ 	$(CC)  -O3 -Dlinux fileop_linux-s390x.o -o fileop
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb
similarity index 90%
rename from import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb
index daa36ee..2864a4d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb
@@ -3,13 +3,15 @@
 AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
 SECTION = "console/tests"
 LICENSE = "iozone3"
-LIC_FILES_CHKSUM = "file://iozone.c;beginline=268;endline=272;md5=ab42a6185fd0443978871f11a007ac0b"
-
+LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \
+    file://iozone.c;beginline=260;endline=266;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \
+"
 SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
+    file://parallelism.patch \
     file://copyright.txt \
 "
-SRC_URI[md5sum] = "3e8f4213581407225065b91774e970ed"
-SRC_URI[sha256sum] = "2c388d9db393a5505b31eca38951883744c69745f687f3c7df5185b4681d462a"
+SRC_URI[md5sum] = "c924e5e46fb1cf8145f420e8e57eb954"
+SRC_URI[sha256sum] = "2e3d72916e7d7340a7c505fc0c3d28553fcc5ff2daf41d811368e55bd4e6a293"
 
 S = "${WORKDIR}/${BPN}_${PV}/src/current/"
 
@@ -20,6 +22,7 @@
 #
 EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
 EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE_x86-64 = "linux-AMD64 CC='${CC}' GCC='${CC}'"
 EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
 EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
deleted file mode 100644
index e8a0297..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-iperf: fix out of tree configuration
-
-The configure step uses a package header to check for support of types/declares,
-this package header encapsulates all the required system header for providing
-the needed resources. When configured from an out of tree directory the package
-header is not found due to the hard path.
-We now make the path for package header relative to our 'srcdir' so it is
-found appropriately.
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
-diff --git a/configure.ac b/configure.ac
-index 2b3fd20..d420f9e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -176,8 +176,8 @@ dnl Check for system services
- 
- dnl check for multicast
- if test "$ac_cv_multicast" != no; then
--  AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"])
--  AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
-+  AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
-+  AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
-   AC_MSG_CHECKING(for multicast support)
-   ac_cv_multicast=no
-   if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then
-@@ -193,9 +193,9 @@ fi
- 
- dnl check for IPv6
- if test "$ac_cv_have_ipv6" != no; then
--  AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"])
--  AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"])
--  AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"])
-+  AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"])
-+  AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"])
-+  AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"])
-   AC_MSG_CHECKING(for IPv6 headers and structures)
-   ac_cv_have_ipv6=no
-   if test "$ac_cv_type_struct_sockaddr_storage" = yes; then
-@@ -211,9 +211,9 @@ fi
- 
- if test "$ac_cv_have_ipv6" = yes; then
-   if test "$ac_cv_multicast" = yes; then
--    AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"])
--    AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
--    AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"])
-+    AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
-+    AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
-+    AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"])
-     AC_MSG_CHECKING(for IPv6 multicast support)
-     ac_cv_have_ipv6_multicast=no
-     if test "$ac_cv_type_struct_ipv6_mreq" = yes; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch
deleted file mode 100644
index 348e316..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- iperf-2.0.5/m4/dast.m4.orig	2016-06-15 11:42:03.945581785 -0400
-+++ iperf-2.0.5/m4/dast.m4	2016-06-15 11:42:11.053581641 -0400
-@@ -11,7 +11,12 @@
- 
- AC_DEFUN(DAST_CHECK_BOOL, [
- 
--AC_CHECK_SIZEOF(bool)
-+if test "$ac_cv_header_stdbool_h" = yes; then
-+  AC_CHECK_SIZEOF(bool,,[#include <stdbool.h>])
-+else
-+    AC_CHECK_SIZEOF(bool)
-+fi
-+
- if test "$ac_cv_sizeof_bool" = 0 ; then
-   AC_DEFINE(bool, int)
- fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch
deleted file mode 100755
index 12e8f46..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-diff --git iperf-2.0.5/man/Makefile.am iperf-2.0.5/man/Makefile.am
- index ed97bc6..728873f 100644
---- iperf-2.0.5/man/Makefile.am
-+++ iperf-2.0.5/man/Makefile.am
-@@ -1,2 +1 @@
--man_MANS = iperf.1
--dist_man_MANS = $(man_MANS)
-+dist_man_MANS = iperf.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
deleted file mode 100644
index 9981d82..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
-HOMEPAGE = "http://dast.nlanr.net/Projects/Iperf/"
-SECTION = "console/network"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298"
-
-SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${BP}.tar.gz \
-            file://iperf-2.0.5_ManPage.patch \
-            file://0001-fix-out-of-tree-config.patch \
-            file://0002-fix-bool-size-m4.patch \
-          "
-
-SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
-SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b"
-
-S = "${WORKDIR}/${BP}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch
new file mode 100644
index 0000000..ae36208
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch
@@ -0,0 +1,39 @@
+From be653711fb92d2430b3ecc546b4e3ad927d19ec5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 12:59:42 -0700
+Subject: [PATCH 1/2] include stdint.h for various std c99 int types
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cjson.h | 2 ++
+ src/timer.h | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/src/cjson.h b/src/cjson.h
+index fb8cd3b..69cd272 100644
+--- a/src/cjson.h
++++ b/src/cjson.h
+@@ -23,6 +23,8 @@
+ #ifndef cJSON__h
+ #define cJSON__h
+ 
++#include <stdint.h>
++
+ #ifdef __cplusplus
+ extern "C"
+ {
+diff --git a/src/timer.h b/src/timer.h
+index 0f9c5eb..0b195be 100644
+--- a/src/timer.h
++++ b/src/timer.h
+@@ -31,6 +31,7 @@
+ #define __TIMER_H
+ 
+ #include <sys/time.h>
++#include <stdint.h>
+ 
+ /* TimerClientData is an opaque value that tags along with a timer.  The
+ ** client can use it for whatever, and it gets passed to the callback when
+-- 
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
new file mode 100644
index 0000000..06eb41a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
@@ -0,0 +1,31 @@
+From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:00:16 -0700
+Subject: [PATCH 2/2] Remove -pg from profile_CFLAGS
+
+musl fails to link with missing gcrt1.o
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 23b0c72..6268145 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -49,9 +49,9 @@ iperf3_LDFLAGS          = -g
+ iperf3_profile_SOURCES  = main.c \
+ 						  $(libiperf_la_SOURCES)
+ 
+-iperf3_profile_CFLAGS   = -pg -g
++iperf3_profile_CFLAGS   = -g
+ iperf3_profile_LDADD    = libiperf.la
+-iperf3_profile_LDFLAGS  = -pg -g
++iperf3_profile_LDFLAGS  = -g
+ 
+ # Specify the sources and various flags for the test cases
+ t_timer_SOURCES         = t_timer.c
+-- 
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
index d19aa1e..4a01896 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
@@ -11,10 +11,11 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3434c5a9a53c78c7739f0bc9e5adda"
 
-SRC_URI = "\
-    git://github.com/esnet/iperf.git \
-    file://automake-foreign.patch \
-"
+SRC_URI = "git://github.com/esnet/iperf.git \
+           file://automake-foreign.patch \
+           file://0001-include-stdint.h-for-various-std-c99-int-types.patch \
+           file://0002-Remove-pg-from-profile_CFLAGS.patch \
+           "
 
 PV = "3.1.3+gitr${SRCPV}"
 SRCREV = "099244ec686b620393e9845478a554b1c7ca5c8b"
@@ -25,4 +26,6 @@
 
 PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
 
+CFLAGS += "-D_GNU_SOURCE"
+
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch
deleted file mode 100644
index 0b8d0e4..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Upstream-Status: Inappropriate [oe-core specific]
-
-libhugetlbfs depends on perl, and perl installs a directory 'perl'
-and make a symlink 'perl5' to it. So just install perl libs in
-libhugetlbfs to directory 'perl' instead of 'perl5'. This can avoid
-the following error:
-| CalledProcessError: Command 'tar -cf - -C .../perl/5.14.3-r1/sysroot-destdir
-| -ps . | tar -xf - -C .../tmp/sysroots/t4240qds'
-| returned non-zero exit status 2 with output
-| tar: ./usr/lib/perl5: Cannot create symlink to `perl': File exists
-| tar: Exiting with failure status due to previous errors
-
-
-Signed-off-by: Ting Liu <b28495@freescale.com>
-
---- a/Makefileold	2013-10-11 23:07:31.759421318 -0500
-+++ b/Makefile	2013-10-11 23:08:01.935571122 -0500
-@@ -173,17 +173,17 @@
- DOCDIR = $(PREFIX)/share/doc/libhugetlbfs
- 
- ifdef CC32
--PMDIR = $(PREFIX)/lib/perl5/TLBC
-+PMDIR = $(PREFIX)/lib/perl/TLBC
- endif
- 
- ifdef CC64
- ifeq ($(ARCH),x86_64)
--PMDIR = $(PREFIX)/lib/perl5/TLBC
-+PMDIR = $(PREFIX)/lib/perl/TLBC
- else
- ifeq ($(ARCH),aarch64)
--PMDIR = $(PREFIX)/lib/perl5/TLBC
-+PMDIR = $(PREFIX)/lib/perl/TLBC
- else
--PMDIR = $(PREFIX)/lib64/perl5/TLBC
-+PMDIR = $(PREFIX)/lib64/perl/TLBC
- endif
- endif
- endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
deleted file mode 100644
index b77cfe1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Avoid using keyword restrict as variable name which causes error with gcc 5.x:
-
-| hugeutils.c: In function '__lh_hugetlbfs_setup_env':
-| hugeutils.c:304:40: error: expected identifier or '(' before 'restrict'
-|    char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
-|                                         ^
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/hugeutils.c b/hugeutils.c
-index 53a7fbd..b9d7001 100644
---- a/hugeutils.c
-+++ b/hugeutils.c
-@@ -301,14 +301,14 @@ void hugetlbfs_setup_env()
- 
- 	env = getenv("HUGETLB_RESTRICT_EXE");
- 	if (env) {
--		char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
-+		char *p, *tok, *exe, buf[MAX_EXE+1], restricted[MAX_EXE];
- 		int found = 0;
- 
- 		exe = get_exe_name(buf, sizeof buf);
- 		DEBUG("Found HUGETLB_RESTRICT_EXE, this exe is \"%s\"\n", exe);
--		strncpy(restrict, env, sizeof restrict);
--		restrict[sizeof(restrict)-1] = 0;
--		for (p = restrict; (tok = strtok(p, ":")) != NULL; p = NULL) {
-+		strncpy(restricted, env, sizeof restricted);
-+		restricted[sizeof(restricted)-1] = 0;
-+		for (p = restricted; (tok = strtok(p, ":")) != NULL; p = NULL) {
- 			DEBUG("  ...check exe match for \"%s\"\n",  tok);
- 			if (strcmp(tok, exe) == 0) {
- 				found = 1;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index 301b550..823e07c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -7,10 +7,10 @@
 RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource ${PN}-perl"
 RDEPENDS_${PN}-tests += "bash"
 
-PV = "2.19"
+PV = "2.20"
 PE = "1"
 
-SRCREV = "426c22d65415fcb8927f68fbc5887e075a8dc40a"
+SRCREV = "e44180072b796c0e28e53c4d01ef6279caaa2a99"
 SRC_URI = " \
     git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https \
     file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \
@@ -18,7 +18,6 @@
     file://tests-Makefile-install-static-4G-edge-testcases.patch \
     file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
     file://libhugetlbfs-elf_i386-avoid-search-host-library-path.patch \
-    file://libhugetlbfs-avoid-using-restrict-as-var-name.patch \
     file://Force-text-segment-alignment-to-0x08000000-for-i386-.patch \
 "
 
@@ -39,7 +38,7 @@
 #The CUSTOM_LDSCRIPTS doesn't work with the gold linker
 inherit cpan-base
 do_configure() {
-    if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
+    if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
       sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/'  Makefile
     fi
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
new file mode 100644
index 0000000..20791bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
@@ -0,0 +1,29 @@
+From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 18:08:51 -0700
+Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t
+
+musl uses __DEFINED_socklen_t so check for that as well
+along with HAVE_socklen_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/bench.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bench.h b/src/bench.h
+index 597d068..2ebdf5a 100644
+--- a/src/bench.h
++++ b/src/bench.h
+@@ -77,7 +77,7 @@ typedef long long int64;
+ #endif /* HAVE_int64_t */
+ #endif /* HAVE_int64 */
+ 
+-#ifndef HAVE_socklen_t
++#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t)
+ typedef int socklen_t;
+ #endif
+ 
+-- 
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
new file mode 100644
index 0000000..18ed43d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
@@ -0,0 +1,26 @@
+From 6faa6acdf20aa6f738eed1483b7dceed94286adb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 14:39:10 -0700
+Subject: [PATCH] lat_http.c: Add printf format
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lat_http.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lat_http.c b/src/lat_http.c
+index c630d59..28d04f7 100644
+--- a/src/lat_http.c
++++ b/src/lat_http.c
+@@ -27,7 +27,7 @@ http(char *server, char *file, int prog)
+ 	sock = tcp_connect(server, prog, SOCKOPT_REUSE);
+ 	sprintf(buf, "GET /%s HTTP/1.0\r\n\r\n\n", file);
+ 	if (debug) {
+-		printf(buf);
++		printf("%s", buf);
+ 	}
+ 	write(sock, buf, strlen(buf));
+ 	while ((n = read(sock, buf, XFERSIZE)) > 0) {
+-- 
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
new file mode 100644
index 0000000..d5c8f5f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
@@ -0,0 +1,76 @@
+From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 18:09:46 -0700
+Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from
+ env
+
+For musl we have to pass additional arguments via cflags and ldflags
+to link in librirpc, make room for those changes to take effect
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/build |  2 +-
+ src/Makefile  | 14 +++++++-------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/build b/scripts/build
+index 34a1371..3786741 100755
+--- a/scripts/build
++++ b/scripts/build
+@@ -18,7 +18,7 @@ done
+ 
+ trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15
+ 
+-LDLIBS=-lm
++LDLIBS+=-lm
+ 
+ # check for HP-UX's ANSI compiler
+ echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c
+diff --git a/src/Makefile b/src/Makefile
+index d9efd54..96467d7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -112,8 +112,8 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o 	\
+ 	$O/lib_sched.o
+ 
+ lmbench: $(UTILS)
+-	@env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
+-	-@env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
++	@env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
++	-@env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
+ 
+ results: lmbench
+ 	@env OS="${OS}" ../scripts/config-run
+@@ -137,7 +137,7 @@ os: lmbench
+ 	@env OS="${OS}" BENCHMARK_HARDWARE=NO  BENCHMARK_OS=YES ../scripts/results
+ 
+ install: lmbench
+-	@env CFLAGS=-O MAKE="$(MAKE)"  MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target
++	@env CFLAGS+=-O MAKE="$(MAKE)"  MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target
+ 
+ install-target:
+ 	if [ ! -d $(BASE) ]; then mkdir $(BASE); fi
+@@ -155,16 +155,16 @@ all: $(EXES) $O/lmbench
+ opt: $(OPT_EXES)
+ asm: $(ASMS)
+ $(ASMS):
+-	$(CC) -S $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ `basename $@ .s`.c
++	$(CC) -S $(CFLAGS) $(CPPFLAGS) -o $@ `basename $@ .s`.c $(LDFLAGS)
+ 
+ Wall:
+-	@env CFLAGS="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
++	@env CFLAGS+="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
+ 
+ debug:
+-	@env CFLAGS="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
++	@env CFLAGS+="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
+ 
+ assembler:
+-	@env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm
++	@env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm
+ 
+ 
+ tag:
+-- 
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 62906fd..03b3721 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -7,6 +7,10 @@
 
 inherit autotools-brokensep
 
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDLIBS_append_libc-musl = " -ltirpc "
+
 PR = "r2"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
@@ -19,12 +23,15 @@
            file://lmbench_result_html_report.patch \
            file://fix-lmbench-memory-check-failure.patch \
            file://0001-avoid-gcc-optimize-away-the-loops.patch \
-"
+           file://0001-lat_http.c-Add-printf-format.patch \
+           file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \
+           file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \
+           "
 SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
 SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
 
 EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
-                LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
+                LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \
                 TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
 
 do_configure() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
index 4ec1c63..56272d9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -1,12 +1,12 @@
 DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \
 designed to expose the capabilities of a system's CPU, FPU, \
 and memory system."
-HOMEPAGE = "http://www.math.utah.edu/~mayer/linux/"
+HOMEPAGE = "http://www.tux.org/~mayer/linux/"
 LICENSE = "nbench-byte"
 LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
 SECTION = "console/utils"
 
-SRC_URI = "http://www.math.utah.edu/~mayer/linux/${BP}.tar.gz \
+SRC_URI = "http://www.tux.org/~mayer/linux/${BP}.tar.gz \
            file://nbench_32bits.patch \
            file://Makefile-add-more-dependencies-to-pointer.h.patch"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
similarity index 80%
rename from import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
index aab64a3..b321779 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
@@ -6,8 +6,9 @@
 SECTION = "console/tests"
 
 SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "c3b26fcc57a3a253e558f759fdc1089f"
-SRC_URI[sha256sum] = "27add54f4ecb464549de580cece84b4a4945b99df3ef7ff7034eb7f23ffb3b39"
+SRC_URI[md5sum] = "5bcac5896a4a34fc6ae4ae94991e1637"
+SRC_URI[sha256sum] = "631ceb808d8bd6cebe69c8b711d55090d6880e906a65837f18fa8200fe7d2c4d"
+
 S = "${WORKDIR}/phoronix-test-suite"
 
 inherit systemd allarch
@@ -33,3 +34,5 @@
     ${datadir}/mime/packages/openbenchmarking-mime.xml \
     ${systemd_unitdir}/* \
 "
+
+PNBLACKLIST[phoronix-test-suite] ?= "Runtime depends on blacklisted php-cli - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb
new file mode 100644
index 0000000..8113da7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb
@@ -0,0 +1,30 @@
+SUMMERY = "Parallel Memory Bandwidth Measurement / Benchmark"
+DESCRIPTION = "\
+The tool pmbw is a set of assembler routines to measure the parallel memory \
+(cache and RAM) bandwidth of modern multi-core machines."
+HOMEPAGE = "http://panthema.net/2013/pmbw/"
+SECTION = "benchmark/tests"
+AUTHOR = "Timo Bingmann"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "git://github.com/bingmann/pmbw;protocol=https"
+
+PV = "0.6.2+git${SRCPV}"
+SRCREV = "4a3b37728060a8aba06fc83f157a1965088d79d6"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+# the hand coded asm uses r11, which therefore cannot be used for storing
+# the frame pointer when debugging on arm
+SELECTED_OPTIMIZATION_remove_arm = "-fno-omit-frame-pointer"
+
+PACKAGES =+ "${PN}-stats2gnuplot"
+
+FILES_${PN}-stats2gnuplot = "${bindir}/stats2gnuplot"
+
+RRECOMMENDS_${PN} = "${PN}-stats2gnuplot"
+
+PNBLACKLIST[pmbw] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130568/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
index fdf54e3..708c71f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
@@ -13,7 +13,7 @@
 SRC_URI[md5sum] = "3a6d54fdd3fe002328e4458206392b9d"
 SRC_URI[sha256sum] = "83fa7464193e012c91254e595a89894d8e35b4a38324b52a5974777e3823ea9e"
 
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
 PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
 PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
 PACKAGECONFIG[mysql] = "--with-mysql \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 5968d82..8cb59da 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
@@ -27,3 +27,7 @@
 #| {standard input}:82: Error: selected processor does not support Thumb mode `mla r3,r4,r3,r5'
 #| {standard input}:82: Error: unshifted register required -- `and r8,r7,r3,lsr#16'
 ARM_INSTRUCTION_SET = "arm"
+#
+# Does not work for 64bit mips.
+#
+COMPATIBLE_HOST = "^(?!mips64).*"