From 1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Thu, 8 Oct 2015 22:51:41 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb | 32 ++++ .../bonnie/files/gcc-4.3-fixes.patch | 19 ++ .../cpuburn/cpuburn-neon_20140626.bb | 30 +++ meta-oe/recipes-benchmark/dbench/dbench_4.0.bb | 25 +++ .../recipes-benchmark/dbench/files/destdir.patch | 28 +++ .../recipes-benchmark/dbench/files/makefile.patch | 18 ++ ...eric-assembly-nop-and-barrier-code-for-ar.patch | 30 +++ meta-oe/recipes-benchmark/fio/fio_2.0.5.bb | 28 +++ .../recipes-benchmark/glmark2/glmark2_2014.03.bb | 37 ++++ .../iozone3/iozone3/copyright.txt | 62 +++++++ meta-oe/recipes-benchmark/iozone3/iozone3_414.bb | 114 ++++++++++++ .../iperf-2.0.5/0001-fix-out-of-tree-config.patch | 52 ++++++ .../iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch | 8 + meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb | 19 ++ ...tend-arm32-support-to-include-BE-variants.patch | 38 ++++ .../0001-Makefile-Recognize-all-ix86-arches.patch | 32 ++++ .../files/0001-aarch64-fix-cross-compilation.patch | 34 ++++ ...rl-lib-to-directory-perl-instead-of-perl5.patch | 39 ++++ ...s-arm-arches-fix-page-size-and-text-offse.patch | 57 ++++++ ...-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch | 29 +++ ....py-not-use-hard-coded-path-.-obj-hugeadm.patch | 43 +++++ ...x-lib64-can-not-be-shiped-in-64bit-target.patch | 75 ++++++++ ...s-avoid-search-host-library-path-for-cros.patch | 99 ++++++++++ ...ng-LIB32-and-LIB64-if-they-point-to-the-s.patch | 23 +++ ...Makefile-install-static-4G-edge-testcases.patch | 17 ++ .../libhugetlbfs/libhugetlbfs_git.bb | 67 +++++++ .../fix-lmbench-memory-check-failure.patch | 206 +++++++++++++++++++++ .../lmbench_result_html_report.patch | 61 ++++++ .../lmbench/lmbench-3.0-a9/obey-ranlib.patch | 30 +++ .../lmbench-3.0-a9/update-config-script.patch | 12 ++ .../lmbench-3.0-a9/update-results-script.patch | 160 ++++++++++++++++ .../use-base_libdir-instead-of-hardcoded-lib.patch | 32 ++++ .../recipes-benchmark/lmbench/lmbench/lmbench-run | 23 +++ .../lmbench/lmbench/rename-line-binary.patch | 19 ++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 78 ++++++++ .../memtester/files/Makefile.patch | 28 +++ .../recipes-benchmark/memtester/memtester_4.1.3.bb | 25 +++ ...kefile-add-more-dependencies-to-pointer.h.patch | 23 +++ .../nbench-byte/nbench-byte/nbench_32bits.patch | 46 +++++ .../nbench-byte/nbench-byte_2.2.3.bb | 25 +++ .../phoronix-test-suite_5.2.1.bb | 24 +++ .../tiobench-0.3.3/avoid-glibc-clashes.patch | 57 ++++++ .../tiobench-0.3.3/tiobench-makefile.patch | 49 +++++ .../recipes-benchmark/tiobench/tiobench_0.3.3.bb | 28 +++ 44 files changed, 1981 insertions(+) create mode 100644 meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb create mode 100644 meta-oe/recipes-benchmark/bonnie/files/gcc-4.3-fixes.patch create mode 100644 meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb create mode 100644 meta-oe/recipes-benchmark/dbench/dbench_4.0.bb create mode 100644 meta-oe/recipes-benchmark/dbench/files/destdir.patch create mode 100644 meta-oe/recipes-benchmark/dbench/files/makefile.patch create mode 100644 meta-oe/recipes-benchmark/fio/fio/0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch create mode 100644 meta-oe/recipes-benchmark/fio/fio_2.0.5.bb create mode 100644 meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb create mode 100644 meta-oe/recipes-benchmark/iozone3/iozone3/copyright.txt create mode 100644 meta-oe/recipes-benchmark/iozone3/iozone3_414.bb create mode 100644 meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch create mode 100755 meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch create mode 100644 meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-cross-compilation.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb create mode 100644 meta-oe/recipes-benchmark/memtester/files/Makefile.patch create mode 100644 meta-oe/recipes-benchmark/memtester/memtester_4.1.3.bb create mode 100644 meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch create mode 100644 meta-oe/recipes-benchmark/nbench-byte/nbench-byte/nbench_32bits.patch create mode 100644 meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb create mode 100644 meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb create mode 100644 meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/avoid-glibc-clashes.patch create mode 100644 meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/tiobench-makefile.patch create mode 100644 meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb (limited to 'meta-oe/recipes-benchmark') diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb new file mode 100644 index 0000000000..2c1217e347 --- /dev/null +++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb @@ -0,0 +1,32 @@ +SUMMARY = "Tests large file IO and creation/deletion of small files" +HOMEPAGE = "http://www.coker.com.au/bonnie++/" +SECTION = "benchmark/tests" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://copyright.txt;md5=cd4dde95a6b9d122f0a9150ae9cc3ee0" + +SRC_URI = "http://www.coker.com.au/bonnie++/${BPN}-${PV}.tgz \ + file://gcc-4.3-fixes.patch \ +" +SRC_URI[md5sum] = "750aa5b5051263a99c6c195888c74968" +SRC_URI[sha256sum] = "cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb" + +inherit autotools-brokensep + +SCRIPTS = "bon_csv2html bon_csv2txt" +EXES = "bonnie++ zcav" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + install -d ${D}/${bindir} + install -d ${D}/${sbindir} + install -m 0755 ${EXES} ${D}/${sbindir} + install -m 0755 ${SCRIPTS} ${D}/${bindir} +} + +PACKAGES =+ "bonnie-scripts" + +FILES_${PN} = "${sbindir}" +FILES_bonnie-scripts = "${bindir}" + +RDEPENDS_bonnie-scripts += "perl" diff --git a/meta-oe/recipes-benchmark/bonnie/files/gcc-4.3-fixes.patch b/meta-oe/recipes-benchmark/bonnie/files/gcc-4.3-fixes.patch new file mode 100644 index 0000000000..67f1b74948 --- /dev/null +++ b/meta-oe/recipes-benchmark/bonnie/files/gcc-4.3-fixes.patch @@ -0,0 +1,19 @@ +Includes string.h to one of the source file. + +Upstream-Status: Inappropriate [not author.] +--- + zcav.cpp | 1 + + 1 file changed, 1 insertion(+) + +Index: bonnie++-1.03a/zcav.cpp +=================================================================== +--- bonnie++-1.03a.orig/zcav.cpp ++++ bonnie++-1.03a/zcav.cpp +@@ -15,6 +15,7 @@ using namespace std; + #else + #include + #endif ++#include + + // Read the specified number of megabytes of data from the fd and return the + // amount of time elapsed in seconds. diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb new file mode 100644 index 0000000000..14e3fc4f38 --- /dev/null +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb @@ -0,0 +1,30 @@ +SUMMARY = "CPU burn app that loads the NEON coprocessor fully" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://burn.S;md5=823abc72c2cd448e87df9bc5355a4456" + +DL_DIR_append = "/${PN}-${PV}" + +# Ensure to make this available for machine which has neon +COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})" + +SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \ + https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb" + +SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456" +SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2" +SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94" +SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d" + +S = "${WORKDIR}" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8 +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/burn ${D}${bindir}/burn-neon + install -m 0755 ${S}/burn-neona8 ${D}${bindir}/ +} + diff --git a/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb b/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb new file mode 100644 index 0000000000..1915e4c2eb --- /dev/null +++ b/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "The dbench (disk) and tbench (TCP) benchmarks" +SUMMARY_dbench = "Filesystem load benchmark" +SUMMARY_tbench = "TCP load benchmark" +HOMEPAGE = "http://samba.org/ftp/tridge/dbench/" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "popt" + +SRC_URI = "\ + http://samba.org/ftp/tridge/dbench/dbench-${PV}.tar.gz \ + file://destdir.patch \ + file://makefile.patch" + +inherit autotools + +PACKAGES =+ "tbench tbench-dbg" + +TARGET_CC_ARCH += "${LDFLAGS}" + +FILES_tbench = "${bindir}/tbench* ${prefix}/share/client.txt" +FILES_tbench-dbg += "${bindir}/.debug/tbench*" + +SRC_URI[md5sum] = "1fe56ff71b9a416f8889d7150ac54da4" +SRC_URI[sha256sum] = "6001893f34e68a3cfeb5d424e1f2bfef005df96a22d86f35dc770c5bccf3aa8a" diff --git a/meta-oe/recipes-benchmark/dbench/files/destdir.patch b/meta-oe/recipes-benchmark/dbench/files/destdir.patch new file mode 100644 index 0000000000..4cd2a35f5e --- /dev/null +++ b/meta-oe/recipes-benchmark/dbench/files/destdir.patch @@ -0,0 +1,28 @@ +Append $(DESTDIR) to all $(bindir), $(datadir) and $(mandir). Got +this patch from OE commit id 709c4d66e0b107ca606941b988bad717c0b45d9b + +Upstream-Status: Inappropriate [not author] + +Index: dbench-3.04/Makefile.in +=================================================================== +--- dbench-3.04.orig/Makefile.in 2006-09-17 20:21:07.000000000 +0200 ++++ dbench-3.04/Makefile.in 2006-09-17 20:21:36.000000000 +0200 +@@ -32,12 +32,12 @@ + + # Careful here: don't install client.txt over itself. + install: all +- ${INSTALLCMD} -d $(bindir) $(datadir) $(mandir) +- ${INSTALLCMD} dbench tbench tbench_srv $(bindir) +- ${INSTALLCMD} client.txt $(datadir) +- ${INSTALLCMD} -m644 dbench.1 $(mandir) +- ln -sf dbench.1 $(mandir)/tbench.1 +- ln -sf dbench.1 $(mandir)/tbench_srv.1 ++ ${INSTALLCMD} -d $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) $(DESTDIR)$(mandir) ++ ${INSTALLCMD} dbench tbench tbench_srv $(DESTDIR)$(bindir) ++ ${INSTALLCMD} @top_srcdir@/client.txt $(DESTDIR)$(datadir) ++ ${INSTALLCMD} -m644 @top_srcdir@/dbench.1 $(DESTDIR)$(mandir) ++ ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench.1 ++ ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench_srv.1 + + clean: + rm -f *.o *~ dbench tbench tbench_srv diff --git a/meta-oe/recipes-benchmark/dbench/files/makefile.patch b/meta-oe/recipes-benchmark/dbench/files/makefile.patch new file mode 100644 index 0000000000..11fb4ffbd7 --- /dev/null +++ b/meta-oe/recipes-benchmark/dbench/files/makefile.patch @@ -0,0 +1,18 @@ +Add space between install -m option and its argument. Got this patch from +OE 709c4d66e0b107ca606941b988bad717c0b45d9b + +Upstream-Status: Inappropriate [not author] + +Index: dbench-4.0/Makefile.in +=================================================================== +--- dbench-4.0.orig/Makefile.in ++++ dbench-4.0/Makefile.in +@@ -35,7 +35,7 @@ install: all + ${INSTALLCMD} -d $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) $(DESTDIR)$(mandir) + ${INSTALLCMD} dbench tbench tbench_srv $(DESTDIR)$(bindir) + ${INSTALLCMD} @top_srcdir@/client.txt $(DESTDIR)$(datadir) +- ${INSTALLCMD} -m644 @top_srcdir@/dbench.1 $(DESTDIR)$(mandir) ++ ${INSTALLCMD} -m 644 @top_srcdir@/dbench.1 $(DESTDIR)$(mandir) + ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench.1 + ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench_srv.1 + diff --git a/meta-oe/recipes-benchmark/fio/fio/0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch b/meta-oe/recipes-benchmark/fio/fio/0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch new file mode 100644 index 0000000000..db97244bc0 --- /dev/null +++ b/meta-oe/recipes-benchmark/fio/fio/0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch @@ -0,0 +1,30 @@ +From 152b969cd4ff5b4b7e1c65eca1f9ab243b8a30c8 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador +Date: Sun, 14 Apr 2013 13:53:35 -0300 +Subject: [PATCH] ARM: Use generic assembly nop and barrier code for armv6 + +Upstream-Status: Submitted + +Signed-off-by: Otavio Salvador +--- + arch/arch-arm.h | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/arch/arch-arm.h b/arch/arch-arm.h +index 658b688..7cd9502 100644 +--- a/arch/arch-arm.h ++++ b/arch/arch-arm.h +@@ -18,7 +18,9 @@ + #define __NR_sys_vmsplice 343 + #endif + +-#if defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__) || defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) ++#if defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__) \ ++ || defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) \ ++ || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) + #define nop __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t") + #define read_barrier() __asm__ __volatile__ ("" : : : "memory") + #define write_barrier() __asm__ __volatile__ ("" : : : "memory") +-- +1.7.2.5 + diff --git a/meta-oe/recipes-benchmark/fio/fio_2.0.5.bb b/meta-oe/recipes-benchmark/fio/fio_2.0.5.bb new file mode 100644 index 0000000000..8dcf637963 --- /dev/null +++ b/meta-oe/recipes-benchmark/fio/fio_2.0.5.bb @@ -0,0 +1,28 @@ +SUMMARY = "Filesystem and hardware benchmark and stress tool" +DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ +stress/hardware verification. It has support for a number of I/O engines, \ +I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ +and much more. It can work on block devices as well as files. fio accepts \ +job descriptions in a simple-to-understand text format. Several example job \ +files are included. fio displays all sorts of I/O performance information." +HOMEPAGE = "http://freecode.com/projects/fio" +SECTION = "console/tests" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" + +DEPENDS = "libaio" + +# rev for v2.0.5 +SRCREV = "02efadeb8b05144bcf2fc7796e1da2e7db211d00" +SRC_URI = "git://git.kernel.dk/fio.git \ + file://0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" + +do_install() { + oe_runmake install DESTDIR=${D} bindir=${bindir} mandir=${mandir} + install -d ${D}/${docdir}/${PN} + cp -a ${S}/examples ${D}/${docdir}/${PN}/ +} diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb new file mode 100644 index 0000000000..708b6d2ea7 --- /dev/null +++ b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb @@ -0,0 +1,37 @@ +SUMMARY = "OpenGL (ES) 2.0 benchmark" +DESCRIPTION = "glmark2 is a benchmark for OpenGL (ES) 2.0. \ +It uses only the subset of the OpenGL 2.0 API that is compatible with OpenGL ES 2.0." +HOMEPAGE = "https://launchpad.net/glmark2" +BUGTRACKER = "https://bugs.launchpad.net/glmark2" + +LICENSE = "GPLv3+ & SGIv1" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552" + +DEPENDS = "libpng12 jpeg virtual/libx11" + +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" + +SRC_URI[md5sum] = "739859cf57d4c8a23452c43e84f66e56" +SRC_URI[sha256sum] = "bded41aaf918ce062d9b81e42cc5be943e6a80bc4ff9d046983b96102c3df6b5" + +inherit waf pkgconfig distro_features_check + +PACKAGECONFIG ?= "gl gles2" + +PACKAGECONFIG[gl] = ",,virtual/libgl" +PACKAGECONFIG[gles2] = ",,virtual/libgles2" + +python __anonymous() { + packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split() + flavors = [] + if "gles2" in packageconfig: + flavors.append("x11-glesv2") + if "gl" in packageconfig: + flavors.append("x11-gl") + if flavors: + d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors)) +} diff --git a/meta-oe/recipes-benchmark/iozone3/iozone3/copyright.txt b/meta-oe/recipes-benchmark/iozone3/iozone3/copyright.txt new file mode 100644 index 0000000000..3468fa9298 --- /dev/null +++ b/meta-oe/recipes-benchmark/iozone3/iozone3/copyright.txt @@ -0,0 +1,62 @@ +LICENSE: + + Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott + + License to freely use and distribute this software is hereby granted + by the author, subject to the condition that this copyright notice + remains intact. The author retains the exclusive right to publish + derivative works based on this work, including, but not limited to + revised versions of this work. + + + +Below is author reply to question about distributing iozone3 in +OpenEmbedded: + +======================================================================== + +Marcin, + + Re-distribution is permitted as long as the copyright is + maintained and the source code is not changed. I do not + see a problem with your mods to enable fileop for Linux-arm, + as these mods have been returned to the Iozone folks, + and they have been accepted for inclusion in the next + release :-) + +Thank you for your contribution, +Don Capps + +----- Original Message ----- +From: "Marcin Juszkiewicz" +To: "Don Capps" ; "William D. Norcott" + +Sent: Sunday, October 29, 2006 4:55 PM +Subject: iozone3 263 patch for arm and License question + + +> Morning +> +> I want to include iozone3 in OpenEmbedded [1] metadata to give it for +> other developers. Currently OE is used to build few distributions for +> misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of +> machines (PDA, settopbox, devboards, desktops, thin clients, routers). +> +> According to your distribution of derivations is forbidden. Packaging +> iozone3 in OpenEmbedded will not involve any source code changes. But +> when I was building it for ARM I discovered that fileop binary was not +> built - so I created patch for it (attached). Not yet tested it on target +> device. +> +> Thus, I seek your written permission via e-mail to distribute a package of +> the unmodified source code and also a package of the pre-compiled binary. +> Your copyright statement will be included in the package. +> +> +> 1. http://www.openembedded.org/ +> +> Regards +> -- +> JID: hrw-jabber.org +> OpenEmbedded developer/consultant + diff --git a/meta-oe/recipes-benchmark/iozone3/iozone3_414.bb b/meta-oe/recipes-benchmark/iozone3/iozone3_414.bb new file mode 100644 index 0000000000..14373b9e01 --- /dev/null +++ b/meta-oe/recipes-benchmark/iozone3/iozone3_414.bb @@ -0,0 +1,114 @@ +SUMMARY = "Filesystem and Disk Benchmarking Tool" +HOMEPAGE = "http://www.iozone.org/" +AUTHOR = "Don Capps , William D. Norcott " +SECTION = "console/tests" +LICENSE = "iozone3" +LIC_FILES_CHKSUM = "file://iozone.c;beginline=266;endline=270;md5=ab42a6185fd0443978871f11a007ac0b" + +SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \ + file://copyright.txt \ +" +SRC_URI[md5sum] = "a40dcda593f5841d0aaffe9f21172020" +SRC_URI[sha256sum] = "9f60e854d7bc5bc3de15355cf5621e15098bd744a26845d11730b3060f4a5fff" + +S = "${WORKDIR}/${BPN}_${PV}/src/current/" + +# +# All other arches can use the default OEMAKE except those +# explicitly listed below. Another, the iozone3 Makefile +# needs to be told about the cross-compiler explicitly here. +# +EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install() { + install -d ${D}${bindir} \ + ${D}${mandir}/man1 \ + ${D}${datadir}/doc/${BPN}/examples + + install -m 0755 ${S}/iozone ${D}${bindir} + install -m 0755 ${S}/fileop ${D}${bindir} + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/ + install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/ + + install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples + install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples + install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples + + install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples + install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples + install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples + + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/ + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/ + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/ +} + +FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt" + +# LICENSE: +# +# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott +# +# License to freely use and distribute this software is hereby granted +# by the author, subject to the condition that this copyright notice +# remains intact. The author retains the exclusive right to publish +# derivative works based on this work, including, but not limited to +# revised versions of this work. +# + +# +# Below is author reply to question about distributing iozone3 in +# OpenEmbedded: +# +# ======================================================================== +# +# Marcin, +# +# Re-distribution is permitted as long as the copyright is +# maintained and the source code is not changed. I do not +# see a problem with your mods to enable fileop for Linux-arm, +# as these mods have been returned to the Iozone folks, +# and they have been accepted for inclusion in the next +# release :-) +# +# Thank you for your contribution, +# Don Capps +# +# ----- Original Message ----- +# From: "Marcin Juszkiewicz" +# To: "Don Capps" ; "William D. Norcott" +# +# Sent: Sunday, October 29, 2006 4:55 PM +# Subject: iozone3 263 patch for arm and License question +# +# +# > Morning +# > +# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for +# > other developers. Currently OE is used to build few distributions for +# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of +# > machines (PDA, settopbox, devboards, desktops, thin clients, routers). +# > +# > According to your distribution of derivations is forbidden. Packaging +# > iozone3 in OpenEmbedded will not involve any source code changes. But +# > when I was building it for ARM I discovered that fileop binary was not +# > built - so I created patch for it (attached). Not yet tested it on target +# > device. +# > +# > Thus, I seek your written permission via e-mail to distribute a package of +# > the unmodified source code and also a package of the pre-compiled binary. +# > Your copyright statement will be included in the package. +# > +# > +# > 1. http://www.openembedded.org/ +# > +# > Regards +# > -- +# > JID: hrw-jabber.org +# > OpenEmbedded developer/consultant + diff --git a/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch new file mode 100644 index 0000000000..e8a029790b --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch @@ -0,0 +1,52 @@ +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 +--- +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/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch new file mode 100755 index 0000000000..12e8f46311 --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch @@ -0,0 +1,8 @@ +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/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb new file mode 100644 index 0000000000..20adc0db93 --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb @@ -0,0 +1,19 @@ +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 \ + " + +SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016" +SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b" + +S = "${WORKDIR}/${PN}-${PV}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}" diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch new file mode 100644 index 0000000000..f6147cbf35 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch @@ -0,0 +1,38 @@ +From 5af6dec8764375ca4f13bd9fed96af090228351a Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" +Date: Mon, 11 Aug 2014 11:06:04 -0500 +Subject: [libhugetlbfs][PATCH] Extend arm32 support to include BE variants + +This patch applies the same technique used by Koen Kool in the following patch +which was accepted by the libhugetlbfs project: + +[0a4f6] Add aarch64_be_support 2014-03-31 10:52:37 + +It modifies the libhugetlbfs Makefile to mark all 32-bit arm architectures +as supported by the libhugetlbfs build. Builds and successful functional +tests have been performed for armv7a LE and BE runtime platforms. + +This patch replaces and renders obsolete the following patch: +arm32-support.patch submitted by: Chunrong Guo + +Signed-off-by: Gary S. Robertson +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 91502e1..ba79607 100644 +--- a/Makefile ++++ b/Makefile +@@ -59,7 +59,7 @@ ELF32 = elf32ppclinux + TMPLIB32 = lib + CPPFLAGS += -DPPC_NO_SEGMENTS + else +-ifeq ($(ARCH),armv7l) ++ifneq (,$(findstring arm,$(ARCH))) + CC32 = $(CC) + TMPLIB32 = lib + ELF32 += armelf_linux_eabi +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch new file mode 100644 index 0000000000..2718275112 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch @@ -0,0 +1,32 @@ +From a0166583ba5f7b6a6d2de434f633126fb12c9d29 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" +Date: Wed, 24 Sep 2014 15:27:31 -0500 +Subject: [PATCH] Makefile: Recognize all ix86 arches + +In a non-native build scenario, the makefile +only recognized i386 or x86_64 arches. Added support +to recognize i486, i586, i686. + +Upstream Status: Accepted by libhugetlbfs project + +Signed-off-by: Gary S. Robertson +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 91502e1..0bfaee8 100644 +--- a/Makefile ++++ b/Makefile +@@ -71,7 +71,7 @@ ELF64 = aarch64elf + TMPLIB64 = lib64 + CUSTOM_LDSCRIPTS = no + else +-ifeq ($(ARCH),i386) ++ifneq (,$(filter i386 i486 i586 i686,$(ARCH))) + CC32 = $(CC) + ELF32 = elf_i386 + TMPLIB32 = lib +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-cross-compilation.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-cross-compilation.patch new file mode 100644 index 0000000000..215ae728d4 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-cross-compilation.patch @@ -0,0 +1,34 @@ +Subject: [PATCH] aarch64: fix cross compilation + +This patch allow to override CC and use it for aarch64 case like +the other architectures. + +Signed-off-by: Fathi Boudra + +Upstream-Status: Submitted +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 91502e1..5aa1e12 100644 +--- a/Makefile ++++ b/Makefile +@@ -33,7 +33,7 @@ CFLAGS += -Wall -fPIC + CPPFLAGS += -D__LIBHUGETLBFS__ + + ARCH = $(shell uname -m | sed -e s/i.86/i386/) +-CC = gcc ++CC ?= gcc + + CUSTOM_LDSCRIPTS = yes + +@@ -66,7 +66,7 @@ ELF32 += armelf_linux_eabi + CUSTOM_LDSCRIPTS = no + else + ifneq (,$(findstring aarch64,$(ARCH))) +-CC64 = gcc ++CC64 = $(CC) + ELF64 = aarch64elf + TMPLIB64 = lib64 + CUSTOM_LDSCRIPTS = no diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch new file mode 100644 index 0000000000..0b8d0e4d54 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch @@ -0,0 +1,39 @@ +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 + +--- 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/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch new file mode 100644 index 0000000000..4e5b7bbbbc --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch @@ -0,0 +1,57 @@ +From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" +Date: Thu, 25 Sep 2014 14:57:06 -0500 +Subject: [PATCH] ld.hugetlbfs: arm arches - fix page size and text offset + setup + +There's 3 issues fixed: +* typo on MB variable (MB -> $MB) +* some linker variants are missing (linux and big endian) + - armelfb_linux_eabi + - aarch64elfb + - aarch64linux + - aarch64linuxb +* text segment offset was not specified for armv7 BE + +NOTE: This patch replaces and makes obsolete the following previously + submitted patch: + + aarch64: fix page size not properly computed + by: Fathi Boudra + +Upstream Status: Accepted at libhugetlbfs project + +Signed-off-by: Gary S. Robertson +--- + ld.hugetlbfs | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/ld.hugetlbfs b/ld.hugetlbfs +index df446dd..4417442 100755 +--- a/ld.hugetlbfs ++++ b/ld.hugetlbfs +@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; +-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; ++armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + esac + + if [ "$HTLB_ALIGN" == "slice" ]; then +@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then + + # targeting the ARM platform one needs to explicitly set the text segment offset + # otherwise it will be NULL. +- if [ "$EMU" == "armelf_linux_eabi" ]; then +- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" +- fi ++ case "$EMU" in ++ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;; ++ esac + fi + + ${LD} "${args[@]}" ${HTLBOPTS} +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch new file mode 100644 index 0000000000..9e2a5e58df --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch @@ -0,0 +1,29 @@ +Subject: [PATCH 1/1] Replace lib/lib64 hardcoded values by LIBDIR32/LIBDIR64 + variables + +Signed-off-by: Fathi Boudra + +Upstream-Status: Submitted +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 91502e1..682c0db 100644 +--- a/Makefile ++++ b/Makefile +@@ -181,9 +181,9 @@ BINDIR = $(PREFIX)/share/libhugetlbfs + EXEDIR = $(PREFIX)/bin + DOCDIR = $(PREFIX)/share/doc/libhugetlbfs + ifdef CC32 +-PMDIR = $(PREFIX)/lib/perl5/TLBC ++PMDIR = $(LIBDIR32)/perl5/TLBC + else +-PMDIR = $(PREFIX)/lib64/perl5/TLBC ++PMDIR = $(LIBDIR64)/perl5/TLBC + endif + MANDIR1 = $(PREFIX)/share/man/man1 + MANDIR3 = $(PREFIX)/share/man/man3 +-- +1.9.2 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch new file mode 100644 index 0000000000..3082d7ef5f --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch @@ -0,0 +1,43 @@ +From a85fc43243f8bfad12d306a4a0e230fb8b3e828a Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Wed, 21 Aug 2013 15:44:57 +0800 +Subject: [PATCH] run_test.py: not use hard coded path ../obj/hugeadm + +Hard coded path makes the script impossible to run out of source tree. +After 'make install', we can use hugeadm utility under DESTDIR. + +Upstream-Status: Submitted + +Signed-off-by: Ting Liu +--- + tests/run_tests.py | 12 +++++++++++- + 1 files changed, 11 insertions(+), 1 deletions(-) + +diff --git a/tests/run_tests.py b/tests/run_tests.py +index d9a6b35..a9bab8f 100755 +--- a/tests/run_tests.py ++++ b/tests/run_tests.py +@@ -232,9 +232,19 @@ def get_pagesizes(): + Use libhugetlbfs' hugeadm utility to get a list of page sizes that have + active mount points and at least one huge page allocated to the pool. + """ ++ local_env = os.environ.copy() ++ local_env["PATH"] = "../obj:%s" % local_env.get("PATH", "") + sizes = set() + out = "" +- (rc, out) = bash("../obj/hugeadm --page-sizes") ++ try: ++ p = subprocess.Popen("hugeadm --page-sizes", shell=True, env=local_env, stdout=subprocess.PIPE) ++ rc = p.wait() ++ except KeyboardInterrupt: ++ return sizes ++ except OSError: ++ return sizes ++ out = p.stdout.read().strip() ++ + if rc != 0 or out == "": return sizes + + for size in out.split("\n"): sizes.add(int(size)) +-- +1.7.3.4 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch new file mode 100644 index 0000000000..676fa8a7af --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch @@ -0,0 +1,75 @@ +Upstream-Status: Inappropriate [oe-core specific] + + +fix the below error: + ERROR: QA Issue: libhugetlbfs: Files/directories were installed but not shipped + /usr/lib64 + /usr/lib64/libhugetlbfs.so + /usr/lib64/libhugetlbfs.a + /usr/lib64/libhugetlbfs_privutils.so + /usr/lib64/perl5 + /usr/lib64/perl5/TLBC + /usr/lib64/perl5/TLBC/PerfCollect.pm + /usr/lib64/perl5/TLBC/Report.pm + /usr/lib64/perl5/TLBC/DataCollect.pm + /usr/lib64/perl5/TLBC/OpCollect.pm +$<50>ERROR: QA run found fatal errors. Please consider fixing them. + + +Signed-off-by: Guo Chunrong + +--- a/Makefile 2013-09-23 02:28:57.340566998 -0500 ++++ b/Makefile 2013-09-23 02:31:05.344569896 -0500 +@@ -33,7 +33,6 @@ + CPPFLAGS += -D__LIBHUGETLBFS__ -DPPC_NO_SEGMENTS + + ARCH = $(shell uname -m | sed -e s/i.86/i386/) +-CC = gcc + + CUSTOM_LDSCRIPTS = yes + +@@ -59,9 +58,9 @@ + CUSTOM_LDSCRIPTS = no + else + ifeq ($(ARCH),aarch64) +-CC64 = gcc ++CC64 = $(CC) + ELF64 = aarch64elf +-TMPLIB64 = lib64 ++TMPLIB64 = lib + CUSTOM_LDSCRIPTS = no + else + ifeq ($(ARCH),i386) +@@ -72,7 +71,7 @@ + ifeq ($(ARCH),x86_64) + CC64 = $(CC) -m64 + ELF64 = elf_x86_64 +-TMPLIB64 = lib64 ++TMPLIB64 = lib + TMPLIB32 = lib + ifneq ($(BUILDTYPE),NATIVEONLY) + CC32 = $(CC) -m32 +@@ -172,11 +171,23 @@ + BINDIR = $(PREFIX)/share/libhugetlbfs + EXEDIR = $(PREFIX)/bin + DOCDIR = $(PREFIX)/share/doc/libhugetlbfs ++ + ifdef CC32 + PMDIR = $(PREFIX)/lib/perl5/TLBC ++endif ++ ++ifdef CC64 ++ifeq ($(ARCH),x86_64) ++PMDIR = $(PREFIX)/lib/perl5/TLBC ++else ++ifeq ($(ARCH),aarch64) ++PMDIR = $(PREFIX)/lib/perl5/TLBC + else + PMDIR = $(PREFIX)/lib64/perl5/TLBC + endif ++endif ++endif ++ + MANDIR1 = $(PREFIX)/share/man/man1 + MANDIR3 = $(PREFIX)/share/man/man3 + MANDIR7 = $(PREFIX)/share/man/man7 diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch new file mode 100644 index 0000000000..b3fd843128 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch @@ -0,0 +1,99 @@ +From 0a2877400a086e9d6ddd32a80462b7a931921dc2 Mon Sep 17 00:00:00 2001 +From: Chunrong Guo +Date: Sun, 8 Sep 2013 23:21:49 -0500 +Subject: [PATCH] libhugetlbfs: avoid search host library path for cross + compilation + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Chunrong Guo +--- + ldscripts/elf32ppclinux.xB | 2 +- + ldscripts/elf32ppclinux.xBDT | 2 +- + ldscripts/elf64ppc.xB | 2 +- + ldscripts/elf64ppc.xBDT | 2 +- + ldscripts/elf_x86_64.xB | 2 +- + ldscripts/elf_x86_64.xBDT | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/ldscripts/elf32ppclinux.xB b/ldscripts/elf32ppclinux.xB +index 28ad88d..33d482d 100644 +--- a/ldscripts/elf32ppclinux.xB ++++ b/ldscripts/elf32ppclinux.xB +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", + "elf32-powerpc") + OUTPUT_ARCH(powerpc:common) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + PHDRS + { +diff --git a/ldscripts/elf32ppclinux.xBDT b/ldscripts/elf32ppclinux.xBDT +index 497882b..823475e 100644 +--- a/ldscripts/elf32ppclinux.xBDT ++++ b/ldscripts/elf32ppclinux.xBDT +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", + "elf32-powerpc") + OUTPUT_ARCH(powerpc:common) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + PHDRS + { +diff --git a/ldscripts/elf64ppc.xB b/ldscripts/elf64ppc.xB +index 1a9c1ab..8cc557d 100644 +--- a/ldscripts/elf64ppc.xB ++++ b/ldscripts/elf64ppc.xB +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", + "elf64-powerpc") + OUTPUT_ARCH(powerpc:common64) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + PHDRS + { +diff --git a/ldscripts/elf64ppc.xBDT b/ldscripts/elf64ppc.xBDT +index 5477294..53e0749 100644 +--- a/ldscripts/elf64ppc.xBDT ++++ b/ldscripts/elf64ppc.xBDT +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", + "elf64-powerpc") + OUTPUT_ARCH(powerpc:common64) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT( -lhugetlbfs ); + PHDRS + { +diff --git a/ldscripts/elf_x86_64.xB b/ldscripts/elf_x86_64.xB +index ed21a2c..ba50e9f 100644 +--- a/ldscripts/elf_x86_64.xB ++++ b/ldscripts/elf_x86_64.xB +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", + "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) +-SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + /* Do we need any of these for elf? + __DYNAMIC = 0; */ +diff --git a/ldscripts/elf_x86_64.xBDT b/ldscripts/elf_x86_64.xBDT +index 1855202..c62d245 100644 +--- a/ldscripts/elf_x86_64.xBDT ++++ b/ldscripts/elf_x86_64.xBDT +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", + "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) +-SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + /* Do we need any of these for elf? + __DYNAMIC = 0; */ +-- +1.7.9.7 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch new file mode 100644 index 0000000000..07a99719b0 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch @@ -0,0 +1,23 @@ +From 355c014573de7f95202cc7c819f81f0f230e4a1a Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Mon, 18 Jun 2012 16:37:05 +0800 +Subject: [PATCH] skip checking LIB32 and LIB64 if they point to the same place + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Ting Liu +--- + +diff --git a/Makefile b/Makefile +index 91502e1..bfb3414 100644 +--- a/Makefile ++++ b/Makefile +@@ -167,7 +167,6 @@ REALLIB32 = $(realpath $(PREFIX)/$(LIB32)) + REALLIB64 = $(realpath $(PREFIX)/$(LIB64)) + ifneq ($(realpath $(PREFIX)),) + ifeq ($(REALLIB32),$(REALLIB64)) +-$(error LIB32 ($(PREFIX)/$(LIB32) to $(REALLIB32)) and LIB64 ($(PREFIX)/$(LIB64) to $(REALLIB64)) are resolving to the same place. Manually specify LIB32 and LIB64. e.g. make PREFIX=$(PREFIX) LIB32=lib32 LIB64=lib64) + endif + endif + +-- +1.9.2 diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch new file mode 100644 index 0000000000..249f6e1e23 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch @@ -0,0 +1,17 @@ +Upstream-Status: Submitted + +TESTS_64 is empty, install will fail due to missing file operand + +Signed-off-by: Ting Liu + +--- a/tests/Makefileold 2013-10-12 02:32:55.262391998 -0500 ++++ b/tests/Makefile 2013-10-12 02:33:45.929394722 -0500 +@@ -292,7 +292,7 @@ + $(INSTALL) -m 755 wrapper-utils.sh $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 $(HELPERS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 $(HELPER_LIBS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 +- $(INSTALL) -m 755 $(TESTS_64:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 ++ $(INSTALL) -m 755 $(TESTS_64_STATIC:%=obj64/%_static) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 run_tests.py $(DESTDIR)$(INST_TESTSDIR64) + + install: $(OBJDIRS:%=%/install) diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb new file mode 100644 index 0000000000..4ce6a1901e --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -0,0 +1,67 @@ +SUMMARY = "A library which provides easy access to huge pages of memory" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" + +DEPENDS = "sysfsutils perl" +RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource" +RDEPENDS_${PN}-tests += "bash" + +PV = "2.18" +PE = "1" + +SRCREV = "ea3f6b273f535aab38cefae30030774457bbbfe6" +SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ + file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \ + file://libhugetlbfs-avoid-search-host-library-path-for-cros.patch \ + file://tests-Makefile-install-static-4G-edge-testcases.patch \ + file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \ + file://0001-aarch64-fix-cross-compilation.patch \ + file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \ + file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \ + file://0001-Extend-arm32-support-to-include-BE-variants.patch \ + file://0001-Makefile-Recognize-all-ix86-arches.patch \ +" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" + +LIBARGS = "LIB32=${baselib} LIB64=${baselib}" +LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" +LIBHUGETLBFS_ARCH_powerpc = "ppc" +LIBHUGETLBFS_ARCH_powerpc64 = "ppc64" +EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2" +PARALLEL_MAKE = "" +CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0" + +TARGET_CC_ARCH += "${LDFLAGS}" + +#The CUSTOM_LDSCRIPTS doesn't work with the gold linker +do_configure() { + if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then + sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/' Makefile + fi + + # fixup perl module directory hardcoded to perl5 + sed -i 's/perl5/perl/g' Makefile +} + +do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} \ + INST_TESTSDIR32=${libdir}/libhugetlbfs/tests \ + INST_TESTSDIR64=${libdir}/libhugetlbfs/tests \ + install-tests +} + + +PACKAGES =+ "${PN}-perl ${PN}-tests " +FILES_${PN} += "${libdir}/*.so" +FILES_${PN}-dev = "${includedir}" +FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug" +FILES_${PN}-perl = "${libdir}/perl" +FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests" + +INSANE_SKIP_${PN} = "dev-so" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch new file mode 100644 index 0000000000..549a114d13 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch @@ -0,0 +1,206 @@ +lmbench: Can't proceed on some targets + +lmbench can't proceed on some targets. The memory check fails because the +memory latency of each page is longer then 10us, which is a time limit set +in the original memsize.c. + +The memory latency is very different on different targets due to the +hardware and current system load. The targets with slower memory +chips or heavy system load need much longer time to read or write +the memory. + +This fix changes the fixed time limit of 10us to a specific value calculated +from the runtime target. + +Also set an upper limit of memory size used for lmbench testing. The memory +check sometimes fails if the target has a large amount of memory, for +example more than 4G. + +Signed-off-by: Qingming Su +Signed-off-by: Fupan Li + +Add and reword above comments + +Upstream-status: inappropriate [ configuration ] + +Signed-off-by: Mark Hatle + +diff --git a/scripts/config-run b/scripts/config-run +index e1f7b6d..31b9256 100755 +--- a/scripts/config-run ++++ b/scripts/config-run +@@ -214,6 +214,12 @@ The bigger the range, the more accurate the results, but larger sizes + take somewhat longer to run the benchmark. + + EOF ++ ++# By default, use 512M memory as the upper limit for lmbench test ++if [ $MB -gt 512 ];then ++MB=512 ++fi ++ + echo $ECHON "MB [default $MB]: $ECHOC" + #read TMP + TMP="" +@@ -718,10 +724,10 @@ case $MAIL in + ;; + esac + +-INFO=`../scripts/info` ++INFO=`../scripts/hostinfo` + if [ $MAIL = yes ] + then if [ ! -f $INFO ] +- then cp ../scripts/info-template $INFO ++ then cp ../scripts/hostinfo-template $INFO + chmod +w $INFO + REUSE=no + else +@@ -765,7 +771,7 @@ EOF + then EDITOR=$TMP + fi + if [ X$EDITOR != "none" ] +- then $EDITOR `../scripts/info` ++ then $EDITOR `../scripts/hostinfo` + fi + fi + fi +diff --git a/src/Makefile b/src/Makefile +index d1f0dc6..5098998 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -49,7 +49,7 @@ TARGET=`../scripts/target` + BINDIR=../bin/$(OS) + CONFIG=../bin/$(OS)/`../scripts/config` + UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \ +- ../scripts/info ../scripts/info-template ../scripts/version \ ++ ../scripts/hostinfo ../scripts/hostinfo-template ../scripts/version \ + ../scripts/config ../scripts/config-run ../scripts/results \ + ../scripts/lmbench ../scripts/make ../scripts/build + INSTALL=cp +@@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS) + $(COMPILE) -c getopt.c -o $O/getopt.o + + $(UTILS) : +- -cd ../scripts; make get ++ -cd ../scripts; cp info hostinfo; cp info-template hostinfo-template + + # Do not remove the next line, $(MAKE) depend needs it + # MAKEDEPEND follows +diff --git a/src/memsize.c b/src/memsize.c +index eb25a09..cf9fe0c 100644 +--- a/src/memsize.c ++++ b/src/memsize.c +@@ -14,9 +14,12 @@ char *id = "$Id$\n"; + + #define CHK(x) if ((x) == -1) { perror("x"); exit(1); } + +-#ifndef TOO_LONG +-#define TOO_LONG 10 /* usecs */ +-#endif ++//#ifndef TOO_LONG ++//#define TOO_LONG 10 /* usecs */ ++//#endif ++ ++#define MEMORY_SIZE_1MB (1024 * 1024) ++#define MEMORY_SIZE_8MB (8 * 1024 * 1024) + + int alarm_triggered = 0; + +@@ -35,10 +38,10 @@ main(int ac, char **av) + size_t delta; + + if (ac == 2) { +- max = size = bytes(av[1]) * 1024 * 1024; ++ max = size = bytes(av[1]) * MEMORY_SIZE_1MB; + } +- if (max < 1024 * 1024) { +- max = size = 1024 * 1024 * 1024; ++ if (max < MEMORY_SIZE_1MB) { ++ max = size = 1024 * MEMORY_SIZE_1MB; + } + /* + * Binary search down and then binary search up +@@ -48,7 +51,7 @@ main(int ac, char **av) + } + /* delta = size / (2 * 1024 * 1024) */ + for (delta = (size >> 21); delta > 0; delta >>= 1) { +- uint64 sz = (uint64)size + (uint64)delta * 1024 * 1024; ++ uint64 sz = (uint64)size + (uint64)delta * MEMORY_SIZE_1MB; + size_t check = sz; + if (max < sz) continue; + if (check < sz || !test_malloc(sz)) break; +@@ -66,41 +69,58 @@ timeit(char *where, size_t size) + { + int sum = 0; + size_t n; +- size_t s_prev; ++ size_t s_prev = MEMORY_SIZE_8MB; + size_t range; +- size_t incr = 1024 * 1024; ++ size_t incr = MEMORY_SIZE_1MB; + size_t pagesize = getpagesize(); +- unsigned long long s; +- +- if (size < 1024*1024 - 16*1024) { +- fprintf(stderr, "Bad size\n"); +- return; +- } ++ size_t time_each_page = 0; ++ size_t too_long = 0; ++ unsigned long long s; ++ ++ if (pagesize < MEMORY_SIZE_1MB) ++ range = MEMORY_SIZE_1MB; ++ else ++ range = MEMORY_SIZE_8MB; ++ ++ incr = MEMORY_SIZE_1MB; ++ ++ if (size < range) { ++ fprintf(stderr, "Bad size\n"); ++ return; ++ } ++ ++ //Touch range of memory, get the average time (usec) of operating each memory page on this system ++ start(0); ++ touchRange(where, range, pagesize); ++ sum = stop(0, 0); ++ ++ if ((time_each_page = sum * pagesize / range) < 1) ++ time_each_page = 1; ++ //Set the uper limit of time spending on one page ++ too_long = 10 * time_each_page; + +- range = 1024 * 1024; +- incr = 1024 * 1024; +- touchRange(where, range, pagesize); + for (range += incr; range <= size; range += incr) { + n = range / pagesize; +- set_alarm(n * TOO_LONG); ++ set_alarm(n * too_long); + touchRange(where + range - incr, incr, pagesize); + clear_alarm(); +- set_alarm(n * TOO_LONG); ++ set_alarm(n * too_long); + start(0); + touchRange(where, range, pagesize); + sum = stop(0, 0); + clear_alarm(); +- if ((sum / n) > TOO_LONG || alarm_triggered) { ++ if ((sum / n) > too_long || alarm_triggered) { + size = range - incr; ++ fprintf(stderr, "Error! Memory testing timeout! Touch one page of memory needs more than %d (usecs)\n ", too_long); + break; + } +- for (s = 8 * 1024 * 1024; s <= range; s_prev = s, s *= 2) ++ for (s = s_prev; s <= range; s_prev = s, s *= 2) + if (s < s_prev) break; + incr = s / 8; + if (range < size && size < range + incr) { + incr = size - range; + } +- fprintf(stderr, "%dMB OK\r", (int)(range/(1024*1024))); ++ fprintf(stderr, "%dMB OK\r", (int)(range/MEMORY_SIZE_1MB)); + } + fprintf(stderr, "\n"); + printf("%d\n", (int)(size>>20)); diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch new file mode 100644 index 0000000000..cda2f0c6d1 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch @@ -0,0 +1,61 @@ +lmbench: Fix "make html" graph failure + +The html-list perl script cannot parse the first line of the result +files about the lmbench version. + +Additional fixes are to make the result's html pages easier to understand. + +Signed-off-by: Lin Yu +Signed-off-by: Fupan Li + +Reworded patch description. + +Upstream-status: inappropriate [ configuration ] + +Signed-off-by: Mark Hatle + +diff --git a/results/Makefile b/results/Makefile +index 0935376..1ef9a15 100644 +--- a/results/Makefile ++++ b/results/Makefile +@@ -186,6 +186,7 @@ paper: + # scratch makes you want a Ghz machine. + html: dirs + -make clean ++ make ps + #$(SCRIPTS)bghtml $(BG) + $(SCRIPTS)html-list $(LIST) + $(MK) LIST="$(LIST)" summary > HTML/summary.out 2> HTML/summary.errs +diff --git a/scripts/html-list b/scripts/html-list +index 9850461..6383115 100755 +--- a/scripts/html-list ++++ b/scripts/html-list +@@ -14,7 +14,7 @@ open(H, ">HTML/specific.html"); + print H <LMBENCH System Results +

LMBENCH System Results

+-

Summary of results

++

Summary of results

+
+ EOF + +@@ -47,7 +47,7 @@ foreach $os (@os) { + open(F, $file); + $_ = ; + close(F); +- next unless /lmbench1.[01]/; ++ next unless /lmbench[0-9]+.[01]/; + chop; + $title = $_; + #s/.lmbench1.? results for //; +@@ -103,10 +103,7 @@ EOF + if $i < $#os; + print S<$title +-Information on this benchmark (Not up to date) +

\n

+- +-LMBENCH table of contents + + System results table of contents +

diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch new file mode 100644 index 0000000000..41a3b3205b --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch @@ -0,0 +1,30 @@ +In some cases the host may have too old of a ranlib to work. Since it's +not exactly a great idea to not be using the cross ranlib anyhow, fix the +Makefile so we can override ranlib and then override it + +Upstream-Status: Inappropriate [build system specific change] +--- + src/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: lmbench-3.0-a9/src/Makefile +=================================================================== +--- lmbench-3.0-a9.orig/src/Makefile ++++ lmbench-3.0-a9/src/Makefile +@@ -38,6 +38,7 @@ CC=`../scripts/compiler` + MAKE=`../scripts/make` + AR=ar + ARCREATE=cr ++RANLIB=ranlib + + # base of installation location + BASE=/usr/local +@@ -217,7 +218,7 @@ $O/lmbench : ../scripts/lmbench version. + $O/lmbench.a: $(LIBOBJS) + /bin/rm -f $O/lmbench.a + $(AR) $(ARCREATE) $O/lmbench.a $(LIBOBJS) +- -ranlib $O/lmbench.a ++ -$(RANLIB) $O/lmbench.a + + $O/lib_timing.o : lib_timing.c $(INCS) + $(COMPILE) -c lib_timing.c -o $O/lib_timing.o diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch new file mode 100644 index 0000000000..b46e09ad15 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch @@ -0,0 +1,12 @@ +Upstream-Status: Pending +Index: lmbench-3.0-a9/scripts/config +=================================================================== +--- lmbench-3.0-a9/scripts/config 2000-01-31 18:29:31.000000000 -0600 ++++ lmbench-3.0-a9/scripts/config 2013-03-01 00:19:41.032984315 -0600 +@@ -3,5 +3,5 @@ + UNAME=`uname -n 2>/dev/null` + if [ X$UNAME = X ] + then echo CONFIG +-else echo CONFIG.$UNAME ++else echo ../scripts/CONFIG.$UNAME + fi diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch new file mode 100644 index 0000000000..894f146d42 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch @@ -0,0 +1,160 @@ +Now that we have our binaries in /usr/bin rather than the normal +lmbench hierarchy we need to update the scripts as well to behave well here. + +Upstream-Status: Inappropriate [This is related to the OE-specific behavior +of installing into /usr/bin, etc, rather than dumping everything into +/usr/share/lmbench or similar] + +Index: lmbench-3.0-a9/scripts/results +=================================================================== +--- lmbench-3.0-a9.orig/scripts/results ++++ lmbench-3.0-a9/scripts/results +@@ -8,11 +8,11 @@ RESULTS=results/$OS + BASE=../$RESULTS/`uname -n` + EXT=0 + +-if [ ! -f "../bin/$OS/$CONFIG" ] ++if [ ! -f "$CONFIG" ] + then echo "No config file?" + exit 1 + fi +-. ../bin/$OS/$CONFIG ++. $CONFIG + + if [ ! -d ../$RESULTS ] + then mkdir -p ../$RESULTS +@@ -23,11 +23,9 @@ do EXT=`expr $EXT + 1` + RESULTS=$BASE.$EXT + done + +-cd ../bin/$OS +-PATH=.:${PATH}; export PATH + export SYNC_MAX + export OUTPUT +-lmbench $CONFIG 2>../${RESULTS} ++lmbench $CONFIG 2>${RESULTS} + + if [ X$MAIL = Xyes ] + then echo Mailing results +Index: lmbench-3.0-a9/scripts/config-run +=================================================================== +--- lmbench-3.0-a9.orig/scripts/config-run ++++ lmbench-3.0-a9/scripts/config-run +@@ -132,20 +132,20 @@ export LMBENCH_SCHED + ############################################################################ + echo $L; echo ""; + echo "Hang on, we are calculating your timing granularity." +-../bin/$OS/msleep 250 +-ENOUGH=`../bin/$OS/enough` ++msleep 250 ++ENOUGH=`enough` + export ENOUGH + echo "OK, it looks like you can time stuff down to $ENOUGH usec resolution." + echo "" + echo "Hang on, we are calculating your timing overhead." +-../bin/$OS/msleep 250 +-TIMING_O=`../bin/$OS/timing_o` ++msleep 250 ++TIMING_O=`timing_o` + export TIMING_O + echo "OK, it looks like your gettimeofday() costs $TIMING_O usecs." + echo "" + echo "Hang on, we are calculating your loop overhead." +-../bin/$OS/msleep 250 +-LOOP_O=`../bin/$OS/loop_o` ++msleep 250 ++LOOP_O=`loop_o` + export LOOP_O + echo "OK, it looks like your benchmark loop costs $LOOP_O usecs." + echo "" +@@ -177,7 +177,7 @@ then + fi + if [ X$MB = X ] + then $ECHON "Probing system for available memory: $ECHOC" +- MB=`../bin/$OS/memsize 4096` ++ MB=`memsize 4096` + fi + TOTAL_MEM=$MB + MB=`echo \( $MB \* 7 \) / 10 | bc 2>/dev/null` +@@ -205,9 +205,9 @@ fi + # Certain machines tend to barf when you try and bcopy 8MB. + # Figure out how much we can use. + echo "Checking to see if you have $MB MB; please wait for a moment..." +-MB=`../bin/$OS/memsize $MB` +-MB=`../bin/$OS/memsize $MB` +-MB=`../bin/$OS/memsize $MB` ++MB=`memsize $MB` ++MB=`memsize $MB` ++MB=`memsize $MB` + if [ `expr $SYNC_MAX \* $MB` -gt `expr $TOTAL_MEM` ] + then + MB=`expr $TOTAL_MEM / $SYNC_MAX` +@@ -223,8 +223,8 @@ then echo Warning: you have only ${MB}MB + fi + + echo "Hang on, we are calculating your cache line size." +-../bin/$OS/msleep 250 +-LINE_SIZE=`../bin/$OS/lm_line -M ${MB}M` ++msleep 250 ++LINE_SIZE=`lm_line -M ${MB}M` + export LINE_SIZE + echo "OK, it looks like your cache line is $LINE_SIZE bytes." + echo "" +@@ -479,7 +479,7 @@ EOF + then + for i in $disks + do if [ -r $i ] +- then ../bin/$OS/flushdisk $i ++ then flushdisk $i + if [ $? -eq 1 ] + then echo "Must be root to run disk benchmarks." + echo "Root is needed to flush the buffer cache" +@@ -584,7 +584,7 @@ fi + echo $L + echo "" + echo "Calculating mhz, please wait for a moment..." +-MHZ=`../bin/$OS/mhz` ++MHZ=`mhz` + cat< $C + echo DISK_DESC=\"$DISK_DESC\" >> $C + echo OUTPUT=$OUTPUT >> $C diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch new file mode 100644 index 0000000000..3351ce8875 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch @@ -0,0 +1,32 @@ +From 0d09e31970616e09beb7f238c2b59bfc541148fb Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Fri, 22 Nov 2013 15:20:08 +0800 +Subject: [PATCH] use base_libdir instead of hardcoded /lib + +Upsteam Status: Inappropriate [configuration] + +Signed-off-by: Ting Liu +--- + src/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index c7a8c79..c7e4e3c 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -143,10 +143,10 @@ install-target: + if [ ! -d $(BASE) ]; then mkdir $(BASE); fi + if [ ! -d $(BASE)/bin ]; then mkdir $(BASE)/bin; fi + if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi +- if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi ++ if [ ! -d $(BASE)$(base_libdir) ]; then mkdir $(BASE)$(base_libdir); fi + cp $(EXES) $(BASE)/bin + cp $(INCS) $(BASE)/include +- cp $O/lmbench.a $(BASE)/lib/libmbench.a ++ cp $O/lmbench.a $(BASE)$(base_libdir) + cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install + + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run b/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run new file mode 100644 index 0000000000..e904c75e43 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run @@ -0,0 +1,23 @@ +#!/bin/sh +# Wrapper script for lmbench written for the +# Debian GNU/Linux distribution by +# Javier Fernandez-Sanguino. +# Distributed under the GPL +SHAREDIR=/usr/share/lmbench/ +BINDIR=/usr/lib/lmbench/ +SCRIPTSDIR=$SHAREDIR/scripts +RESULTSDIR=$SHAREDIR/results +CONFIG=/var/lib/lmbench/config/`$SCRIPTSDIR/config` +runuid=`id -u` + +[ $runuid -gt 0 ] && { + echo "You must run this as the root user" + exit 0 +} +cd $SCRIPTSDIR +[ ! -f $CONFIG ] && ./config-run +./results + +echo "Benchmark run finished...." +echo "Remember you can find the results of the benchmark " +echo "under $RESULTSDIR" diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch new file mode 100644 index 0000000000..9a405213ad --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch @@ -0,0 +1,19 @@ +Both lmbench and util-linux-ng packages provide own /usr/bin/line binaries. +Even though the binaries name is the same, their functionality is different. +This patch renames lmbench's line binary as lm_line to avoid conflicts with +util-linux-ng. script/config-run is also modified (patch) to call lm_line +instead of line. + +Upstream-Status: Inappropriate [build system specific change] + +--- patches/scripts/config-run 2006-11-26 15:11:04.000000000 -0500 ++++ patches/scripts/config-run 2011-04-01 09:35:50.000000000 -0400 +@@ -224,7 +224,7 @@ fi + + echo "Hang on, we are calculating your cache line size." + ../bin/$OS/msleep 250 +-LINE_SIZE=`../bin/$OS/line -M ${MB}M` ++LINE_SIZE=`../bin/$OS/lm_line -M ${MB}M` + export LINE_SIZE + echo "OK, it looks like your cache line is $LINE_SIZE bytes." + echo "" diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb new file mode 100644 index 0000000000..24cd0b0eaf --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -0,0 +1,78 @@ +SUMMARY = "Tools for performance analysis" +HOMEPAGE = "http://lmbench.sourceforge.net/" +SECTION = "console/utils" +LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ + file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9" + +inherit autotools-brokensep + +PR = "r2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ + file://lmbench-run \ + file://rename-line-binary.patch \ + file://update-results-script.patch \ + file://obey-ranlib.patch \ + file://update-config-script.patch \ + file://use-base_libdir-instead-of-hardcoded-lib.patch \ + file://lmbench_result_html_report.patch \ + file://fix-lmbench-memory-check-failure.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}" \ + TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"' + +do_configure() { + : +} + +do_compile () { + . ${CONFIG_SITE} + if [ X"$ac_cv_uint" = X"yes" ]; then + CFLAGS="${CFLAGS} -DHAVE_uint" + fi + install -d ${S}/bin/${TARGET_SYS} + oe_runmake -C src +} + +do_install () { + install -d ${D}${sysconfdir}/default/volatiles \ + ${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \ + ${D}${datadir}/lmbench/scripts + + echo "d root root 0755 ${localstatedir}/run/${BPN} none" \ + > ${D}${sysconfdir}/default/volatiles/99_lmbench + if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN} - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf + fi + + oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \ + -C src install + mv ${D}${bindir}/line ${D}${bindir}/lm_line + install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/ + sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \ + -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \ + -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \ + ${D}${bindir}/lmbench-run + install -m 0755 ${S}/scripts/lmbench ${D}${bindir} + install -m 0755 ${S}/scripts/* ${D}${datadir}/lmbench/scripts +} + +pkg_postinst_${PN} () { + if [ -z "$D" ]; then + if command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/lmbench.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} + +RDEPENDS_${PN} = "perl" +FILES_${PN} += "${datadir}/lmbench ${libdir}/lmbench" diff --git a/meta-oe/recipes-benchmark/memtester/files/Makefile.patch b/meta-oe/recipes-benchmark/memtester/files/Makefile.patch new file mode 100644 index 0000000000..971e52ac7f --- /dev/null +++ b/meta-oe/recipes-benchmark/memtester/files/Makefile.patch @@ -0,0 +1,28 @@ +From 9a950b14b9f7767d83e5faac2e1e8203c500e2c2 Mon Sep 17 00:00:00 2001 +From: Rod Whitby +Date: Tue, 25 Oct 2011 18:43:50 -0500 +Subject: [PATCH] memtester: Added patch to Makefile to change no-longer-supported 'head -1' syntax to 'head -n 1'. + +Signed-off-by: Joel A Fernandes +--- + Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index a271bf5..6bccff3 100644 +--- a/Makefile ++++ b/Makefile +@@ -32,8 +32,8 @@ install: all + auto-ccld.sh: \ + conf-cc conf-ld warn-auto.sh + ( cat warn-auto.sh; \ +- echo CC=\'`head -1 conf-cc`\'; \ +- echo LD=\'`head -1 conf-ld`\' \ ++ echo CC=\'`head -n 1 conf-cc`\'; \ ++ echo LD=\'`head -n 1 conf-ld`\' \ + ) > auto-ccld.sh + + compile: \ +-- +1.7.0.4 + diff --git a/meta-oe/recipes-benchmark/memtester/memtester_4.1.3.bb b/meta-oe/recipes-benchmark/memtester/memtester_4.1.3.bb new file mode 100644 index 0000000000..74e704b7b3 --- /dev/null +++ b/meta-oe/recipes-benchmark/memtester/memtester_4.1.3.bb @@ -0,0 +1,25 @@ +SUMMARY = "Utility to test for faulty memory subsystem" +HOMEPAGE = "http://pyropus.ca/software/memtester/" +SECTION = "console/utils" +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +SRC_URI = "http://pyropus.ca/software/memtester/old-versions/memtester-${PV}.tar.gz" +SRC_URI += "file://Makefile.patch" + +SRC_URI[md5sum] = "e562451620cf5343016950462bc0dc38" +SRC_URI[sha256sum] = "ac56f0b6d6d6e58bcf2a3fa7f2c9b29894f5177871f21115a1906c535106acf6" + +do_compile () { + echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc + echo '${CC} ${LDFLAGS}' > conf-ld + oe_runmake +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}${mandir}/man8 + install -m 0755 memtester ${D}${bindir}/ + install -m 0755 memtester.8 ${D}${mandir}/man8/ +} diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch new file mode 100644 index 0000000000..abdb4344bd --- /dev/null +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch @@ -0,0 +1,23 @@ +Makefile: add more dependencies to pointer.h + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Otavio Salvador +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 915866d..edd9ea2 100644 +--- a/Makefile ++++ b/Makefile +@@ -122,7 +122,7 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile + pointer.h: Makefile + touch pointer.h ; + +-misc.o: misc.h misc.c Makefile ++misc.o: misc.h misc.c nmglobal.h pointer.h Makefile + $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\ + -c misc.c + + diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/nbench_32bits.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/nbench_32bits.patch new file mode 100644 index 0000000000..1b8a4dc088 --- /dev/null +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/nbench_32bits.patch @@ -0,0 +1,46 @@ +From 81f4043a6787060029ef20eed21cdcf3e50337df Mon Sep 17 00:00:00 2001 +From: Chase Maupin +Date: Tue, 28 Feb 2012 14:58:35 -0600 +Subject: [PATCH] nbench: modify Makefile for 32bit + +* Patch taken from OE classic git repository as of commit id + ad42bf9065928b2902d7d9534709d3ccea7ec956 and was added by: + * Marcin Juszkiewicz +* Notes from original patch were: + +BYTE Magazine's native benchmarks (also called BYTEmark) designed to +expose the capabilities of a system's CPU, FPU and memory system. + +http://www.tux.org/~mayer/linux/ + +Recipe from old Atmel overlay. + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Chase Maupin +--- + Makefile | 8 ++------ + 1 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 5045c77..915866d 100644 +--- a/Makefile ++++ b/Makefile +@@ -119,12 +119,8 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile + $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\ + -c emfloat.c + +-pointer.h: pointer Makefile +- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\ +- -o pointer pointer.c +- rm -f pointer.h +- if [ "4" = `./pointer` ] ; then touch pointer.h ;\ +- else echo "#define LONG64" >pointer.h ; fi ++pointer.h: Makefile ++ touch pointer.h ; + + misc.o: misc.h misc.c Makefile + $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\ +-- +1.7.0.4 + diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb new file mode 100644 index 0000000000..2eedd7e313 --- /dev/null +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb @@ -0,0 +1,25 @@ +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.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.tux.org/~mayer/linux/${BP}.tar.gz \ + file://nbench_32bits.patch \ + file://Makefile-add-more-dependencies-to-pointer.h.patch" + +SRC_URI[md5sum] = "285dfab361080759d477ea1fe7d3093a" +SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac" + +TARGET_CC_ARCH += "${CFLAGS} ${LDFLAGS}" +do_compile() { + oe_runmake +} + +do_install () { + install -d ${D}${bindir} + install -m 0644 NNET.DAT ${D}${bindir}/ + install -m 0755 nbench ${D}${bindir}/ +} diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb new file mode 100644 index 0000000000..ef9f7352d5 --- /dev/null +++ b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Phoronix Test Suite" +DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ +and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "console/tests" + +SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "51e52d883710dc516c5494bd1c377219" +SRC_URI[sha256sum] = "1186f460691e2fe7a07df5edb8d8ed1ac0c65327512e646da2b2e3a60dda6cd9" +S = "${WORKDIR}/phoronix-test-suite" + +do_install() { + DESTDIR=${D} ./install-sh ${exec_prefix} +} + +RDEPENDS_${PN} = "php-cli" +FILES_${PN} += " \ + ${datadir}/phoronix-test-suite \ + ${datadir}/appdata/phoronix-test-suite.appdata.xml \ + ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ + ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ + ${datadir}/mime/packages/openbenchmarking-mime.xml \ +" diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/avoid-glibc-clashes.patch b/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/avoid-glibc-clashes.patch new file mode 100644 index 0000000000..321d299837 --- /dev/null +++ b/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/avoid-glibc-clashes.patch @@ -0,0 +1,57 @@ +From: Otavio Salvador +Subject: [PATCH] Avoid aligned allocation function name clashes + +glibc added new methods for aligned allocation and it clashes with the +local version used by 'tiobench'. To fix it, we prefix the methods +with '_'. + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador +--- + tiotest.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tiotest.c b/tiotest.c +index 38f54e7..6b3d0c3 100644 +--- a/tiotest.c ++++ b/tiotest.c +@@ -31,7 +31,7 @@ static const char* versionStr = "tiotest v0.3.3 (C) 1999-2000 Mika Kuoppala threads[i].thread_attr), + PTHREAD_SCOPE_SYSTEM); + +- d->threads[i].buffer = aligned_alloc( d->threads[i].blockSize ); ++ d->threads[i].buffer = _aligned_alloc( d->threads[i].blockSize ); + if( d->threads[i].buffer == NULL ) + { + perror("Error allocating memory"); +@@ -383,7 +383,7 @@ void cleanup_test( ThreadTest *d ) + { + if (!args.rawDrives) + unlink(d->threads[i].fileName); +- aligned_free( d->threads[i].buffer, d->threads[i].blockSize ); ++ _aligned_free( d->threads[i].buffer, d->threads[i].blockSize ); + d->threads[i].buffer = 0; + + pthread_attr_destroy( &(d->threads[i].thread_attr) ); +-- +1.7.7 + diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/tiobench-makefile.patch b/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/tiobench-makefile.patch new file mode 100644 index 0000000000..f820c7e337 --- /dev/null +++ b/meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/tiobench-makefile.patch @@ -0,0 +1,49 @@ +Adapt tiobench to OE +Author: Ludovic Desroches + +Upstream-Status: Inappropriate [not author] + +Index: Makefile +=================================================================== +--- a/Makefile 2011-05-26 07:48:46.341400974 +0200 ++++ b/Makefile 2011-05-30 06:32:38.091401358 +0200 +@@ -1,8 +1,9 @@ + # Makefile for tiotest + +-CC=gcc ++CC?=gcc + #CFLAGS=-O3 -fomit-frame-pointer -Wall + CFLAGS=-O2 -Wall ++LDFLAGS?= + + #DEFINES=-DUSE_MMAP + #-DUSE_MADVISE +@@ -14,16 +15,16 @@ + + #DEFINES= + +-LINK=gcc ++LINK?=$(CC) + EXE=tiotest + PROJECT=tiobench + # do it once instead of each time referenced + VERSION=$(shell egrep "tiotest v[0-9]+.[0-9]+" tiotest.c | cut -d " " -f 7 | sed "s/v//g") + DISTNAME=$(PROJECT)-$(VERSION) + INSTALL=install +-PREFIX=/usr/local ++PREFIX?=/usr/local + BINDIR=$(PREFIX)/bin +-DOCDIR=/usr/local/doc/$(DISTNAME) ++DOCDIR=$(PREFIX)/share/doc/$(DISTNAME) + + all: $(EXE) + +@@ -34,7 +35,7 @@ + $(CC) -c $(CFLAGS) $(DEFINES) tiotest.c -o tiotest.o + + $(EXE): tiotest.o crc32.o +- $(LINK) -o $(EXE) tiotest.o crc32.o -lpthread ++ $(LINK) -o $(EXE) tiotest.o crc32.o -lpthread $(LDFLAGS) + @echo + @echo "./tiobench.pl --help for usage options" + @echo diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb new file mode 100644 index 0000000000..3267de2a05 --- /dev/null +++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb @@ -0,0 +1,28 @@ +SUMMARY = "Threaded I/O tester" +HOMEPAGE = "http://sourceforge.net/projects/tiobench/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" + +PR = "r1" + +SRC_URI = "\ + http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${BP}.tar.gz \ + file://tiobench-makefile.patch \ + file://avoid-glibc-clashes.patch \ +" +SRC_URI[md5sum] = "bf485bf820e693c79e6bd2a38702a128" +SRC_URI[sha256sum] = "8ad011059a35ac70cdb5e3d3999ceee44a8e8e9078926844b0685b7ea9db2bcc" + +EXTRA_OEMAKE = "PREFIX=${D}/usr" + +do_install() { + oe_runmake install +} + +RDEPENDS_${PN} = "\ + perl \ + perl-module-exporter-heavy \ + perl-module-getopt-long \ + perl-module-overload \ + perl-module-strict \ +" -- cgit v1.2.3-54-g00ecf