summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-benchmark
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2014-10-10 03:20:04 +0200
committerTudor Florea <tudor.florea@enea.com>2014-10-10 03:20:04 +0200
commit1b8dfe266937a37a4c642f96ceb2347bf4c00a17 (patch)
tree0c6aab146bb3c82efd9c7846a9a4e70dcb0ec84f /meta-oe/recipes-benchmark
downloadmeta-openembedded-daisy-140929.tar.gz
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-benchmark')
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb30
-rw-r--r--meta-oe/recipes-benchmark/bonnie/files/gcc-4.3-fixes.patch19
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb29
-rw-r--r--meta-oe/recipes-benchmark/dbench/dbench_4.0.bb25
-rw-r--r--meta-oe/recipes-benchmark/dbench/files/destdir.patch28
-rw-r--r--meta-oe/recipes-benchmark/dbench/files/makefile.patch18
-rw-r--r--meta-oe/recipes-benchmark/fio/fio/0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch30
-rw-r--r--meta-oe/recipes-benchmark/fio/fio_2.0.5.bb28
-rw-r--r--meta-oe/recipes-benchmark/glmark2/glmark2_2012.12.bb23
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3/copyright.txt62
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3_414.bb114
-rwxr-xr-xmeta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch8
-rw-r--r--meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb18
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch39
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch43
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-support.patch88
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-unit-test-fixes.patch62
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/add-PROT-NONE-to-the-mprotest-test.patch38
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch75
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch99
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch48
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch17
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb51
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch30
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch12
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch160
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch32
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run23
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch19
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb76
-rw-r--r--meta-oe/recipes-benchmark/memtester/files/Makefile.patch28
-rw-r--r--meta-oe/recipes-benchmark/memtester/memtester_4.1.3.bb25
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte/nbench_32bits.patch46
-rw-r--r--meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb24
-rw-r--r--meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/avoid-glibc-clashes.patch57
-rw-r--r--meta-oe/recipes-benchmark/tiobench/tiobench-0.3.3/tiobench-makefile.patch49
-rw-r--r--meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb28
37 files changed, 1601 insertions, 0 deletions
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..f8a23d73b0
--- /dev/null
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb
@@ -0,0 +1,30 @@
1SUMMARY = "Tests large file IO and creation/deletion of small files"
2HOMEPAGE = "http://www.coker.com.au/bonnie++/"
3SECTION = "benchmark/tests"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://copyright.txt;md5=cd4dde95a6b9d122f0a9150ae9cc3ee0"
6
7SRC_URI = "http://www.coker.com.au/bonnie++/${BPN}-${PV}.tgz \
8 file://gcc-4.3-fixes.patch \
9"
10SRC_URI[md5sum] = "750aa5b5051263a99c6c195888c74968"
11SRC_URI[sha256sum] = "cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb"
12
13inherit autotools-brokensep
14
15SCRIPTS = "bon_csv2html bon_csv2txt"
16EXES = "bonnie++ zcav"
17
18TARGET_CC_ARCH += "${LDFLAGS}"
19
20do_install () {
21 install -d ${D}/${bindir}
22 install -d ${D}/${sbindir}
23 install -m 0755 ${EXES} ${D}/${sbindir}
24 install -m 0755 ${SCRIPTS} ${D}/${bindir}
25}
26
27PACKAGES =+ "bonnie-scripts"
28
29FILES_${PN} = "${sbindir}"
30FILES_bonnie-scripts = "${bindir}"
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 @@
1Includes string.h to one of the source file.
2
3Upstream-Status: Inappropriate [not author.]
4---
5 zcav.cpp | 1 +
6 1 file changed, 1 insertion(+)
7
8Index: bonnie++-1.03a/zcav.cpp
9===================================================================
10--- bonnie++-1.03a.orig/zcav.cpp
11+++ bonnie++-1.03a/zcav.cpp
12@@ -15,6 +15,7 @@ using namespace std;
13 #else
14 #include <vector.h>
15 #endif
16+#include <string.h>
17
18 // Read the specified number of megabytes of data from the fd and return the
19 // amount of time elapsed in seconds.
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb
new file mode 100644
index 0000000000..8ec5e95451
--- /dev/null
+++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb
@@ -0,0 +1,29 @@
1SUMMARY = "CPU burn app that loads the NEON coprocessor fully"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://burn.S;md5=823abc72c2cd448e87df9bc5355a4456"
4
5DL_DIR_append = "/${PN}-${PV}"
6
7# Ensure to make this available for machine which has neon
8COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})"
9
10SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \
11 http://github.com/downloads/ssvb/ssvb.github.com/ssvb-cpuburn-a8.S;name=ssvb"
12SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456"
13SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2"
14SRC_URI[ssvb.md5sum] = "0acc570d943c41c7f8602b9ff6fa111d"
15SRC_URI[ssvb.sha256sum] = "bfddd3226a499ffdf71bb58c05ccdc6dac5bb2c2c3bdb10ac610ee0b60aac087"
16
17S = "${WORKDIR}"
18
19do_compile() {
20 ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
21 ${CC} ${CFLAGS} ${LDFLAGS} ssvb-cpuburn-a8.S -o burn-neona8
22}
23
24do_install() {
25 install -d ${D}${bindir}
26 install -m 0755 ${S}/burn ${D}${bindir}/burn-neon
27 install -m 0755 ${S}/burn-neona8 ${D}${bindir}/
28}
29
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 @@
1SUMMARY = "The dbench (disk) and tbench (TCP) benchmarks"
2SUMMARY_dbench = "Filesystem load benchmark"
3SUMMARY_tbench = "TCP load benchmark"
4HOMEPAGE = "http://samba.org/ftp/tridge/dbench/"
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
7
8DEPENDS = "popt"
9
10SRC_URI = "\
11 http://samba.org/ftp/tridge/dbench/dbench-${PV}.tar.gz \
12 file://destdir.patch \
13 file://makefile.patch"
14
15inherit autotools
16
17PACKAGES =+ "tbench tbench-dbg"
18
19TARGET_CC_ARCH += "${LDFLAGS}"
20
21FILES_tbench = "${bindir}/tbench* ${prefix}/share/client.txt"
22FILES_tbench-dbg += "${bindir}/.debug/tbench*"
23
24SRC_URI[md5sum] = "1fe56ff71b9a416f8889d7150ac54da4"
25SRC_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..ca9a8ee207
--- /dev/null
+++ b/meta-oe/recipes-benchmark/dbench/files/destdir.patch
@@ -0,0 +1,28 @@
1Append $(DESTDIR) to all $(bindir), $(datadir) and $(mandir). Got
2this patch from OE commit id 709c4d66e0b107ca606941b988bad717c0b45d9b
3
4Upstream-Status: Inappropriate [not author]
5
6Index: dbench-3.04/Makefile.in
7===================================================================
8--- dbench-3.04.orig/Makefile.in 2006-09-17 20:21:07.000000000 +0200
9+++ dbench-3.04/Makefile.in 2006-09-17 20:21:36.000000000 +0200
10@@ -32,12 +32,12 @@
11
12 # Careful here: don't install client.txt over itself.
13 install: all
14- ${INSTALLCMD} -d $(bindir) $(datadir) $(mandir)
15- ${INSTALLCMD} dbench tbench tbench_srv $(bindir)
16- ${INSTALLCMD} client.txt $(datadir)
17- ${INSTALLCMD} -m644 dbench.1 $(mandir)
18- ln -sf dbench.1 $(mandir)/tbench.1
19- ln -sf dbench.1 $(mandir)/tbench_srv.1
20+ ${INSTALLCMD} -d $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) $(DESTDIR)$(mandir)
21+ ${INSTALLCMD} dbench tbench tbench_srv $(DESTDIR)$(bindir)
22+ ${INSTALLCMD} client.txt $(DESTDIR)$(datadir)
23+ ${INSTALLCMD} -m644 dbench.1 $(DESTDIR)$(mandir)
24+ ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench.1
25+ ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench_srv.1
26
27 clean:
28 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..09d619ad38
--- /dev/null
+++ b/meta-oe/recipes-benchmark/dbench/files/makefile.patch
@@ -0,0 +1,18 @@
1Add space between install -m option and its argument. Got this patch from
2OE 709c4d66e0b107ca606941b988bad717c0b45d9b
3
4Upstream-Status: Inappropriate [not author]
5
6Index: dbench-4.0/Makefile.in
7===================================================================
8--- dbench-4.0.orig/Makefile.in
9+++ dbench-4.0/Makefile.in
10@@ -35,7 +35,7 @@ install: all
11 ${INSTALLCMD} -d $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) $(DESTDIR)$(mandir)
12 ${INSTALLCMD} dbench tbench tbench_srv $(DESTDIR)$(bindir)
13 ${INSTALLCMD} client.txt $(DESTDIR)$(datadir)
14- ${INSTALLCMD} -m644 dbench.1 $(DESTDIR)$(mandir)
15+ ${INSTALLCMD} -m 644 dbench.1 $(DESTDIR)$(mandir)
16 ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench.1
17 ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench_srv.1
18
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 @@
1From 152b969cd4ff5b4b7e1c65eca1f9ab243b8a30c8 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sun, 14 Apr 2013 13:53:35 -0300
4Subject: [PATCH] ARM: Use generic assembly nop and barrier code for armv6
5
6Upstream-Status: Submitted
7
8Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9---
10 arch/arch-arm.h | 4 +++-
11 1 files changed, 3 insertions(+), 1 deletions(-)
12
13diff --git a/arch/arch-arm.h b/arch/arch-arm.h
14index 658b688..7cd9502 100644
15--- a/arch/arch-arm.h
16+++ b/arch/arch-arm.h
17@@ -18,7 +18,9 @@
18 #define __NR_sys_vmsplice 343
19 #endif
20
21-#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__)
22+#if defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__) \
23+ || defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) \
24+ || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__)
25 #define nop __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t")
26 #define read_barrier() __asm__ __volatile__ ("" : : : "memory")
27 #define write_barrier() __asm__ __volatile__ ("" : : : "memory")
28--
291.7.2.5
30
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 @@
1SUMMARY = "Filesystem and hardware benchmark and stress tool"
2DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
3stress/hardware verification. It has support for a number of I/O engines, \
4I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
5and much more. It can work on block devices as well as files. fio accepts \
6job descriptions in a simple-to-understand text format. Several example job \
7files are included. fio displays all sorts of I/O performance information."
8HOMEPAGE = "http://freecode.com/projects/fio"
9SECTION = "console/tests"
10LICENSE = "GPLv2"
11LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
12
13DEPENDS = "libaio"
14
15# rev for v2.0.5
16SRCREV = "02efadeb8b05144bcf2fc7796e1da2e7db211d00"
17SRC_URI = "git://git.kernel.dk/fio.git \
18 file://0001-ARM-Use-generic-assembly-nop-and-barrier-code-for-ar.patch"
19
20S = "${WORKDIR}/git"
21
22EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
23
24do_install() {
25 oe_runmake install DESTDIR=${D} bindir=${bindir} mandir=${mandir}
26 install -d ${D}/${docdir}/${PN}
27 cp -a ${S}/examples ${D}/${docdir}/${PN}/
28}
diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_2012.12.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_2012.12.bb
new file mode 100644
index 0000000000..031e3b3d4d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_2012.12.bb
@@ -0,0 +1,23 @@
1SUMMARY = "OpenGL (ES) 2.0 benchmark"
2DESCRIPTION = "glmark2 is a benchmark for OpenGL (ES) 2.0. \
3It uses only the subset of the OpenGL 2.0 API that is compatible with OpenGL ES 2.0."
4HOMEPAGE = "https://launchpad.net/glmark2"
5BUGTRACKER = "https://bugs.launchpad.net/glmark2"
6
7LICENSE = "GPLv3+ & SGIv1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
9 file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
10
11DEPENDS = "libpng12 jpeg"
12
13SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz"
14
15SRC_URI[md5sum] = "4f306664aa3886fa0cf93853603603f8"
16SRC_URI[sha256sum] = "bea6f9de2cdce376195bd91e4a2fdfdf80bf3e480abff8e05b90a6458c1deb47"
17
18inherit waf pkgconfig
19
20PACKAGECONFIG ?= "gl gles2"
21
22PACKAGECONFIG[gl] = "--enable-gl,,virtual/libgl"
23PACKAGECONFIG[gles2] = "--enable-glesv2,,virtual/libgles2"
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 @@
1LICENSE:
2
3 Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott
4
5 License to freely use and distribute this software is hereby granted
6 by the author, subject to the condition that this copyright notice
7 remains intact. The author retains the exclusive right to publish
8 derivative works based on this work, including, but not limited to
9 revised versions of this work.
10
11
12
13Below is author reply to question about distributing iozone3 in
14OpenEmbedded:
15
16========================================================================
17
18Marcin,
19
20 Re-distribution is permitted as long as the copyright is
21 maintained and the source code is not changed. I do not
22 see a problem with your mods to enable fileop for Linux-arm,
23 as these mods have been returned to the Iozone folks,
24 and they have been accepted for inclusion in the next
25 release :-)
26
27Thank you for your contribution,
28Don Capps
29
30----- Original Message -----
31From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
32To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
33<wnorcott@us.oracle.com>
34Sent: Sunday, October 29, 2006 4:55 PM
35Subject: iozone3 263 patch for arm and License question
36
37
38> Morning
39>
40> I want to include iozone3 in OpenEmbedded [1] metadata to give it for
41> other developers. Currently OE is used to build few distributions for
42> misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
43> machines (PDA, settopbox, devboards, desktops, thin clients, routers).
44>
45> According to your distribution of derivations is forbidden. Packaging
46> iozone3 in OpenEmbedded will not involve any source code changes. But
47> when I was building it for ARM I discovered that fileop binary was not
48> built - so I created patch for it (attached). Not yet tested it on target
49> device.
50>
51> Thus, I seek your written permission via e-mail to distribute a package of
52> the unmodified source code and also a package of the pre-compiled binary.
53> Your copyright statement will be included in the package.
54>
55>
56> 1. http://www.openembedded.org/
57>
58> Regards
59> --
60> JID: hrw-jabber.org
61> OpenEmbedded developer/consultant
62
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 @@
1SUMMARY = "Filesystem and Disk Benchmarking Tool"
2HOMEPAGE = "http://www.iozone.org/"
3AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
4SECTION = "console/tests"
5LICENSE = "iozone3"
6LIC_FILES_CHKSUM = "file://iozone.c;beginline=266;endline=270;md5=ab42a6185fd0443978871f11a007ac0b"
7
8SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
9 file://copyright.txt \
10"
11SRC_URI[md5sum] = "a40dcda593f5841d0aaffe9f21172020"
12SRC_URI[sha256sum] = "9f60e854d7bc5bc3de15355cf5621e15098bd744a26845d11730b3060f4a5fff"
13
14S = "${WORKDIR}/${BPN}_${PV}/src/current/"
15
16#
17# All other arches can use the default OEMAKE except those
18# explicitly listed below. Another, the iozone3 Makefile
19# needs to be told about the cross-compiler explicitly here.
20#
21EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
22EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
23EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
24EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
25
26TARGET_CC_ARCH += "${LDFLAGS}"
27
28do_install() {
29 install -d ${D}${bindir} \
30 ${D}${mandir}/man1 \
31 ${D}${datadir}/doc/${BPN}/examples
32
33 install -m 0755 ${S}/iozone ${D}${bindir}
34 install -m 0755 ${S}/fileop ${D}${bindir}
35 install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
36 install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
37
38 install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
39 install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
40 install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
41
42 install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
43 install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
44 install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
45
46 install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
47 install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
48 install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
49}
50
51FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt"
52
53# LICENSE:
54#
55# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott
56#
57# License to freely use and distribute this software is hereby granted
58# by the author, subject to the condition that this copyright notice
59# remains intact. The author retains the exclusive right to publish
60# derivative works based on this work, including, but not limited to
61# revised versions of this work.
62#
63
64#
65# Below is author reply to question about distributing iozone3 in
66# OpenEmbedded:
67#
68# ========================================================================
69#
70# Marcin,
71#
72# Re-distribution is permitted as long as the copyright is
73# maintained and the source code is not changed. I do not
74# see a problem with your mods to enable fileop for Linux-arm,
75# as these mods have been returned to the Iozone folks,
76# and they have been accepted for inclusion in the next
77# release :-)
78#
79# Thank you for your contribution,
80# Don Capps
81#
82# ----- Original Message -----
83# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
84# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
85# <wnorcott@us.oracle.com>
86# Sent: Sunday, October 29, 2006 4:55 PM
87# Subject: iozone3 263 patch for arm and License question
88#
89#
90# > Morning
91# >
92# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
93# > other developers. Currently OE is used to build few distributions for
94# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
95# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
96# >
97# > According to your distribution of derivations is forbidden. Packaging
98# > iozone3 in OpenEmbedded will not involve any source code changes. But
99# > when I was building it for ARM I discovered that fileop binary was not
100# > built - so I created patch for it (attached). Not yet tested it on target
101# > device.
102# >
103# > Thus, I seek your written permission via e-mail to distribute a package of
104# > the unmodified source code and also a package of the pre-compiled binary.
105# > Your copyright statement will be included in the package.
106# >
107# >
108# > 1. http://www.openembedded.org/
109# >
110# > Regards
111# > --
112# > JID: hrw-jabber.org
113# > OpenEmbedded developer/consultant
114
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 @@
1diff --git iperf-2.0.5/man/Makefile.am iperf-2.0.5/man/Makefile.am
2 index ed97bc6..728873f 100644
3--- iperf-2.0.5/man/Makefile.am
4+++ iperf-2.0.5/man/Makefile.am
5@@ -1,2 +1 @@
6-man_MANS = iperf.1
7-dist_man_MANS = $(man_MANS)
8+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..a2077162d0
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
2HOMEPAGE = "http://dast.nlanr.net/Projects/Iperf/"
3SECTION = "console/network"
4LICENSE = "BSD-2-Clause"
5LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298"
6
7SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${PN}-${PV}.tar.gz \
8 file://iperf-2.0.5_ManPage.patch \
9 "
10
11SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
12SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b"
13
14S = "${WORKDIR}/${PN}-${PV}"
15
16inherit autotools pkgconfig
17
18EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
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 @@
1Upstream-Status: Inappropriate [oe-core specific]
2
3libhugetlbfs depends on perl, and perl installs a directory 'perl'
4and make a symlink 'perl5' to it. So just install perl libs in
5libhugetlbfs to directory 'perl' instead of 'perl5'. This can avoid
6the following error:
7| CalledProcessError: Command 'tar -cf - -C .../perl/5.14.3-r1/sysroot-destdir
8| -ps . | tar -xf - -C .../tmp/sysroots/t4240qds'
9| returned non-zero exit status 2 with output
10| tar: ./usr/lib/perl5: Cannot create symlink to `perl': File exists
11| tar: Exiting with failure status due to previous errors
12
13
14Signed-off-by: Ting Liu <b28495@freescale.com>
15
16--- a/Makefileold 2013-10-11 23:07:31.759421318 -0500
17+++ b/Makefile 2013-10-11 23:08:01.935571122 -0500
18@@ -173,17 +173,17 @@
19 DOCDIR = $(PREFIX)/share/doc/libhugetlbfs
20
21 ifdef CC32
22-PMDIR = $(PREFIX)/lib/perl5/TLBC
23+PMDIR = $(PREFIX)/lib/perl/TLBC
24 endif
25
26 ifdef CC64
27 ifeq ($(ARCH),x86_64)
28-PMDIR = $(PREFIX)/lib/perl5/TLBC
29+PMDIR = $(PREFIX)/lib/perl/TLBC
30 else
31 ifeq ($(ARCH),aarch64)
32-PMDIR = $(PREFIX)/lib/perl5/TLBC
33+PMDIR = $(PREFIX)/lib/perl/TLBC
34 else
35-PMDIR = $(PREFIX)/lib64/perl5/TLBC
36+PMDIR = $(PREFIX)/lib64/perl/TLBC
37 endif
38 endif
39 endif
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 @@
1From a85fc43243f8bfad12d306a4a0e230fb8b3e828a Mon Sep 17 00:00:00 2001
2From: Ting Liu <b28495@freescale.com>
3Date: Wed, 21 Aug 2013 15:44:57 +0800
4Subject: [PATCH] run_test.py: not use hard coded path ../obj/hugeadm
5
6Hard coded path makes the script impossible to run out of source tree.
7After 'make install', we can use hugeadm utility under DESTDIR.
8
9Upstream-Status: Submitted
10
11Signed-off-by: Ting Liu <b28495@freescale.com>
12---
13 tests/run_tests.py | 12 +++++++++++-
14 1 files changed, 11 insertions(+), 1 deletions(-)
15
16diff --git a/tests/run_tests.py b/tests/run_tests.py
17index d9a6b35..a9bab8f 100755
18--- a/tests/run_tests.py
19+++ b/tests/run_tests.py
20@@ -232,9 +232,19 @@ def get_pagesizes():
21 Use libhugetlbfs' hugeadm utility to get a list of page sizes that have
22 active mount points and at least one huge page allocated to the pool.
23 """
24+ local_env = os.environ.copy()
25+ local_env["PATH"] = "../obj:%s" % local_env.get("PATH", "")
26 sizes = set()
27 out = ""
28- (rc, out) = bash("../obj/hugeadm --page-sizes")
29+ try:
30+ p = subprocess.Popen("hugeadm --page-sizes", shell=True, env=local_env, stdout=subprocess.PIPE)
31+ rc = p.wait()
32+ except KeyboardInterrupt:
33+ return sizes
34+ except OSError:
35+ return sizes
36+ out = p.stdout.read().strip()
37+
38 if rc != 0 or out == "": return sizes
39
40 for size in out.split("\n"): sizes.add(int(size))
41--
421.7.3.4
43
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-support.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-support.patch
new file mode 100644
index 0000000000..ceac6b4283
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-support.patch
@@ -0,0 +1,88 @@
1Upstream-Status: Pending
2
3From 52b8430eb4f03e35721f29862de33041fe9c9768 Mon Sep 17 00:00:00 2001
4From: Steve Capper <steve.capper@linaro.org>
5Date: Wed, 10 Apr 2013 14:51:12 +0100
6Subject: [PATCH] Aarch64 support.
7
8This patch adds support for Aarch64.
9
10As with ARMv7, We do not add the xBT/xBDT style linker scripts as
11these have been deprecated in favour of adjusting the page sizes
12via command line parameter to ld.
13
14Signed-off-by: Steve Capper <steve.capper@linaro.org>
15---
16 Makefile | 7 +++++++
17 sys-aarch64elf_linux.S | 34 ++++++++++++++++++++++++++++++++++
18 2 files changed, 41 insertions(+)
19 create mode 100644 sys-aarch64elf_linux.S
20
21diff --git a/Makefile b/Makefile
22index 48205af..28ceade 100644
23--- a/Makefile
24+++ b/Makefile
25@@ -57,6 +57,12 @@ TMPLIB32 = lib
26 ELF32 += armelf_linux_eabi
27 CUSTOM_LDSCRIPTS = no
28 else
29+ifeq ($(ARCH),aarch64)
30+CC64 = gcc
31+ELF64 = aarch64elf_linux
32+TMPLIB64 = lib64
33+CUSTOM_LDSCRIPTS = no
34+else
35 ifeq ($(ARCH),i386)
36 CC32 = gcc
37 ELF32 = elf_i386
38@@ -100,6 +106,7 @@ endif
39 endif
40 endif
41 endif
42+endif
43
44 ifdef CC32
45 OBJDIRS += obj32
46diff --git a/sys-aarch64elf_linux.S b/sys-aarch64elf_linux.S
47new file mode 100644
48index 0000000..699ff4c
49--- /dev/null
50+++ b/sys-aarch64elf_linux.S
51@@ -0,0 +1,34 @@
52+/*
53+ * libhugetlbfs - Easy use of Linux hugepages
54+ * Copyright (C) 2013 Linaro Ltd.
55+ *
56+ * This library is free software; you can redistribute it and/or
57+ * modify it under the terms of the GNU Lesser General Public License
58+ * version 2.1 as published by the Free Software Foundation.
59+ *
60+ * This library is distributed in the hope that it will be useful, but
61+ * WITHOUT ANY WARRANTY; without even the implied warranty of
62+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
63+ * Lesser General Public License for more details.
64+ *
65+ * You should have received a copy of the GNU Lesser General Public
66+ * License along with this library; if not, write to the Free Software
67+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
68+ */
69+
70+ .text
71+
72+ .globl direct_syscall
73+
74+
75+direct_syscall:
76+ uxtw x8, w0
77+ mov x0, x1
78+ mov x1, x2
79+ mov x2, x3
80+ mov x3, x4
81+ mov x4, x5
82+ mov x5, x6
83+ mov x6, x7
84+ svc 0x0
85+ RET
86--
871.7.9.5
88
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-unit-test-fixes.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-unit-test-fixes.patch
new file mode 100644
index 0000000000..0b6fd8a303
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/aarch64-unit-test-fixes.patch
@@ -0,0 +1,62 @@
1Upstream-Status: Pending
2
3From 9bb940bd6a86f09280bdcd48a7177a835d72a25c Mon Sep 17 00:00:00 2001
4From: Steve Capper <steve.capper@linaro.org>
5Date: Wed, 10 Apr 2013 15:52:46 +0100
6Subject: [PATCH] Aarch64 unit test fixes.
7
8On Aarch64, zero bytes are illegal instructions, this is added to
9the icache-hygiene test.
10
11In mremap-expand-slice-collision, if __LP64__ is defined then
12mappings are attempted at 1TB boundaries which are outside the
13allowable mmap region for Aarch64. For __aarch64__ we change this
14mapping back to 256MB slices.
15
16Signed-off-by: Steve Capper <steve.capper@linaro.org>
17---
18 tests/icache-hygiene.c | 7 ++++---
19 tests/mremap-expand-slice-collision.c | 2 +-
20 2 files changed, 5 insertions(+), 4 deletions(-)
21
22diff --git a/tests/icache-hygiene.c b/tests/icache-hygiene.c
23index 51792b3..876ce10 100644
24--- a/tests/icache-hygiene.c
25+++ b/tests/icache-hygiene.c
26@@ -54,7 +54,7 @@ static void cacheflush(void *p)
27 {
28 #if defined(__powerpc__)
29 asm volatile("dcbst 0,%0; sync; icbi 0,%0; isync" : : "r"(p));
30-#elif defined(__arm__)
31+#elif defined(__arm__) || defined(__aarch64__)
32 __clear_cache(p, p + COPY_SIZE);
33 #endif
34 }
35@@ -87,8 +87,9 @@ static void *sig_expected;
36 static void sig_handler(int signum, siginfo_t *si, void *uc)
37 {
38 #if defined(__powerpc__) || defined(__powerpc64__) || defined(__ia64__) || \
39- defined(__s390__) || defined(__s390x__) || defined(__sparc__)
40- /* On powerpc and ia64 and s390, 0 bytes are an illegal
41+ defined(__s390__) || defined(__s390x__) || defined(__sparc__) || \
42+ defined(__aarch64__)
43+ /* On powerpc, ia64, s390 and Aarch64, 0 bytes are an illegal
44 * instruction, so, if the icache is cleared properly, we SIGILL
45 * as soon as we jump into the cleared page */
46 if (signum == SIGILL) {
47diff --git a/tests/mremap-expand-slice-collision.c b/tests/mremap-expand-slice-collision.c
48index c25f4c6..853f3c3 100644
49--- a/tests/mremap-expand-slice-collision.c
50+++ b/tests/mremap-expand-slice-collision.c
51@@ -38,7 +38,7 @@ void init_slice_boundary(int fd)
52 unsigned long slice_size;
53 void *p1, *p2, *heap;
54 int slices_ok, i, rc;
55-#ifdef __LP64__
56+#if defined(__LP64__) && !defined(__aarch64__)
57 /* powerpc: 1TB slices starting at 1 TB */
58 slice_boundary = 0x10000000000;
59 slice_size = 0x10000000000;
60--
611.7.9.5
62
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/add-PROT-NONE-to-the-mprotest-test.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/add-PROT-NONE-to-the-mprotest-test.patch
new file mode 100644
index 0000000000..673f2046dd
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/add-PROT-NONE-to-the-mprotest-test.patch
@@ -0,0 +1,38 @@
1Upstream-Status: Pending
2
3From c7fcb7270bb510d7271a1c0cea095a4dbea49420 Mon Sep 17 00:00:00 2001
4From: Steve Capper <steve.capper@linaro.org>
5Date: Mon, 3 Jun 2013 17:00:45 +0100
6Subject: [PATCH] Add PROT_NONE to the mprotect test.
7
8The mprotect unit test checks PROT_READ and PROT_READ | PROT_WRITE
9protections. We recently found that PROT_NONE wasn't properly
10supported in our huge page kernel code.
11
12This patch adds PROT_NONE tests to mprotect. The expected behaviour
13is that neither reads nor writes should succeed.
14
15Signed-off-by: Steve Capper <steve.capper@linaro.org>
16---
17 tests/mprotect.c | 6 ++++++
18 1 file changed, 6 insertions(+)
19
20diff --git a/tests/mprotect.c b/tests/mprotect.c
21index aa4673e..db6a662 100644
22--- a/tests/mprotect.c
23+++ b/tests/mprotect.c
24@@ -213,5 +213,11 @@ int main(int argc, char *argv[])
25 test_mprotect(fd, "RW->R 1/2", 2*hpage_size, PROT_READ|PROT_WRITE,
26 hpage_size, PROT_READ);
27
28+ /* PROT_NONE tests */
29+ test_mprotect(fd, "NONE->R", hpage_size, PROT_NONE,
30+ hpage_size, PROT_READ);
31+ test_mprotect(fd, "NONE->RW", hpage_size, PROT_NONE,
32+ hpage_size, PROT_READ|PROT_WRITE);
33+
34 PASS();
35 }
36--
371.7.9.5
38
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 @@
1Upstream-Status: Inappropriate [oe-core specific]
2
3
4fix the below error:
5 ERROR: QA Issue: libhugetlbfs: Files/directories were installed but not shipped
6 /usr/lib64
7 /usr/lib64/libhugetlbfs.so
8 /usr/lib64/libhugetlbfs.a
9 /usr/lib64/libhugetlbfs_privutils.so
10 /usr/lib64/perl5
11 /usr/lib64/perl5/TLBC
12 /usr/lib64/perl5/TLBC/PerfCollect.pm
13 /usr/lib64/perl5/TLBC/Report.pm
14 /usr/lib64/perl5/TLBC/DataCollect.pm
15 /usr/lib64/perl5/TLBC/OpCollect.pm
16$<50>ERROR: QA run found fatal errors. Please consider fixing them.
17
18
19Signed-off-by: Guo Chunrong <B40290@freescale.com>
20
21--- a/Makefile 2013-09-23 02:28:57.340566998 -0500
22+++ b/Makefile 2013-09-23 02:31:05.344569896 -0500
23@@ -33,7 +33,6 @@
24 CPPFLAGS += -D__LIBHUGETLBFS__ -DPPC_NO_SEGMENTS
25
26 ARCH = $(shell uname -m | sed -e s/i.86/i386/)
27-CC = gcc
28
29 CUSTOM_LDSCRIPTS = yes
30
31@@ -59,9 +58,9 @@
32 CUSTOM_LDSCRIPTS = no
33 else
34 ifeq ($(ARCH),aarch64)
35-CC64 = gcc
36+CC64 = $(CC)
37 ELF64 = aarch64elf
38-TMPLIB64 = lib64
39+TMPLIB64 = lib
40 CUSTOM_LDSCRIPTS = no
41 else
42 ifeq ($(ARCH),i386)
43@@ -72,7 +71,7 @@
44 ifeq ($(ARCH),x86_64)
45 CC64 = $(CC) -m64
46 ELF64 = elf_x86_64
47-TMPLIB64 = lib64
48+TMPLIB64 = lib
49 TMPLIB32 = lib
50 ifneq ($(BUILDTYPE),NATIVEONLY)
51 CC32 = $(CC) -m32
52@@ -172,11 +171,23 @@
53 BINDIR = $(PREFIX)/share/libhugetlbfs
54 EXEDIR = $(PREFIX)/bin
55 DOCDIR = $(PREFIX)/share/doc/libhugetlbfs
56+
57 ifdef CC32
58 PMDIR = $(PREFIX)/lib/perl5/TLBC
59+endif
60+
61+ifdef CC64
62+ifeq ($(ARCH),x86_64)
63+PMDIR = $(PREFIX)/lib/perl5/TLBC
64+else
65+ifeq ($(ARCH),aarch64)
66+PMDIR = $(PREFIX)/lib/perl5/TLBC
67 else
68 PMDIR = $(PREFIX)/lib64/perl5/TLBC
69 endif
70+endif
71+endif
72+
73 MANDIR1 = $(PREFIX)/share/man/man1
74 MANDIR3 = $(PREFIX)/share/man/man3
75 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 @@
1From 0a2877400a086e9d6ddd32a80462b7a931921dc2 Mon Sep 17 00:00:00 2001
2From: Chunrong Guo <B40290@freescale.com>
3Date: Sun, 8 Sep 2013 23:21:49 -0500
4Subject: [PATCH] libhugetlbfs: avoid search host library path for cross
5 compilation
6
7Upstream-Status: Inappropriate [oe-core specific]
8
9Signed-off-by: Chunrong Guo <B40290@freescale.com>
10---
11 ldscripts/elf32ppclinux.xB | 2 +-
12 ldscripts/elf32ppclinux.xBDT | 2 +-
13 ldscripts/elf64ppc.xB | 2 +-
14 ldscripts/elf64ppc.xBDT | 2 +-
15 ldscripts/elf_x86_64.xB | 2 +-
16 ldscripts/elf_x86_64.xBDT | 2 +-
17 6 files changed, 6 insertions(+), 6 deletions(-)
18
19diff --git a/ldscripts/elf32ppclinux.xB b/ldscripts/elf32ppclinux.xB
20index 28ad88d..33d482d 100644
21--- a/ldscripts/elf32ppclinux.xB
22+++ b/ldscripts/elf32ppclinux.xB
23@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
24 "elf32-powerpc")
25 OUTPUT_ARCH(powerpc:common)
26 ENTRY(_start)
27-SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
28+/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/
29 INPUT(-lhugetlbfs);
30 PHDRS
31 {
32diff --git a/ldscripts/elf32ppclinux.xBDT b/ldscripts/elf32ppclinux.xBDT
33index 497882b..823475e 100644
34--- a/ldscripts/elf32ppclinux.xBDT
35+++ b/ldscripts/elf32ppclinux.xBDT
36@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
37 "elf32-powerpc")
38 OUTPUT_ARCH(powerpc:common)
39 ENTRY(_start)
40-SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
41+/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/
42 INPUT(-lhugetlbfs);
43 PHDRS
44 {
45diff --git a/ldscripts/elf64ppc.xB b/ldscripts/elf64ppc.xB
46index 1a9c1ab..8cc557d 100644
47--- a/ldscripts/elf64ppc.xB
48+++ b/ldscripts/elf64ppc.xB
49@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc",
50 "elf64-powerpc")
51 OUTPUT_ARCH(powerpc:common64)
52 ENTRY(_start)
53-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");
54+/*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");*/
55 INPUT(-lhugetlbfs);
56 PHDRS
57 {
58diff --git a/ldscripts/elf64ppc.xBDT b/ldscripts/elf64ppc.xBDT
59index 5477294..53e0749 100644
60--- a/ldscripts/elf64ppc.xBDT
61+++ b/ldscripts/elf64ppc.xBDT
62@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc",
63 "elf64-powerpc")
64 OUTPUT_ARCH(powerpc:common64)
65 ENTRY(_start)
66-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");
67+/*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");*/
68 INPUT( -lhugetlbfs );
69 PHDRS
70 {
71diff --git a/ldscripts/elf_x86_64.xB b/ldscripts/elf_x86_64.xB
72index ed21a2c..ba50e9f 100644
73--- a/ldscripts/elf_x86_64.xB
74+++ b/ldscripts/elf_x86_64.xB
75@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
76 "elf64-x86-64")
77 OUTPUT_ARCH(i386:x86-64)
78 ENTRY(_start)
79-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");
80+/*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");*/
81 INPUT(-lhugetlbfs);
82 /* Do we need any of these for elf?
83 __DYNAMIC = 0; */
84diff --git a/ldscripts/elf_x86_64.xBDT b/ldscripts/elf_x86_64.xBDT
85index 1855202..c62d245 100644
86--- a/ldscripts/elf_x86_64.xBDT
87+++ b/ldscripts/elf_x86_64.xBDT
88@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
89 "elf64-x86-64")
90 OUTPUT_ARCH(i386:x86-64)
91 ENTRY(_start)
92-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");
93+/*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");*/
94 INPUT(-lhugetlbfs);
95 /* Do we need any of these for elf?
96 __DYNAMIC = 0; */
97--
981.7.9.7
99
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..329637604c
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch
@@ -0,0 +1,48 @@
1From 355c014573de7f95202cc7c819f81f0f230e4a1a Mon Sep 17 00:00:00 2001
2From: Ting Liu <b28495@freescale.com>
3Date: Mon, 18 Jun 2012 16:37:05 +0800
4Subject: [PATCH] skip checking LIB32 and LIB64 if they point to the same place
5
6
7Upstream-Status: Inappropriate [oe-core specific]
8Signed-off-by: Ting Liu <b28495@freescale.com>
9---
10 Makefile | 22 +++++++++++-----------
11 1 files changed, 11 insertions(+), 11 deletions(-)
12
13diff --git a/Makefile b/Makefile
14index 1017950..bac5f01 100644
15--- a/Makefile
16+++ b/Makefile
17@@ -131,17 +131,17 @@ endif
18
19 # If TMPLIB64 is set, then sure we are not resolving LIB32 and LIB64 to the
20 # same place
21-ifdef TMPLIB64
22-
23-REALLIB32 = $(realpath $(PREFIX)/$(LIB32))
24-REALLIB64 = $(realpath $(PREFIX)/$(LIB64))
25-ifneq ($(realpath $(PREFIX)),)
26-ifeq ($(REALLIB32),$(REALLIB64))
27-$(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)
28-endif
29-endif
30-
31-endif
32+#ifdef TMPLIB64
33+#
34+#REALLIB32 = $(realpath $(PREFIX)/$(LIB32))
35+#REALLIB64 = $(realpath $(PREFIX)/$(LIB64))
36+#ifneq ($(realpath $(PREFIX)),)
37+#ifeq ($(REALLIB32),$(REALLIB64))
38+#$(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)
39+#endif
40+#endif
41+#
42+#endif
43
44 HEADERDIR = $(PREFIX)/include
45 LIBDIR32 = $(PREFIX)/$(LIB32)
46--
471.7.0.4
48
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 @@
1Upstream-Status: Submitted
2
3TESTS_64 is empty, install will fail due to missing file operand
4
5Signed-off-by: Ting Liu <b28495@freescale.com>
6
7--- a/tests/Makefileold 2013-10-12 02:32:55.262391998 -0500
8+++ b/tests/Makefile 2013-10-12 02:33:45.929394722 -0500
9@@ -292,7 +292,7 @@
10 $(INSTALL) -m 755 wrapper-utils.sh $(DESTDIR)$(INST_TESTSDIR64)/obj64
11 $(INSTALL) -m 755 $(HELPERS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64
12 $(INSTALL) -m 755 $(HELPER_LIBS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64
13- $(INSTALL) -m 755 $(TESTS_64:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64
14+ $(INSTALL) -m 755 $(TESTS_64_STATIC:%=obj64/%_static) $(DESTDIR)$(INST_TESTSDIR64)/obj64
15 $(INSTALL) -m 755 run_tests.py $(DESTDIR)$(INST_TESTSDIR64)
16
17 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..5ee6e8e14e
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -0,0 +1,51 @@
1SUMMARY = "A library which provides easy access to huge pages of memory"
2LICENSE = "LGPLv2.1"
3LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
4
5DEPENDS = "sysfsutils perl"
6RDEPENDS_${PN} += "python python-io python-lang python-subprocess python-resource"
7
8SRCBRANCH = "next"
9SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code;branch=${SRCBRANCH} \
10 file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \
11 file://libhugetlbfs-avoid-search-host-library-path-for-cros.patch \
12 file://fix-lib64-can-not-be-shiped-in-64bit-target.patch \
13 file://tests-Makefile-install-static-4G-edge-testcases.patch \
14 file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
15 file://0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch \
16"
17SRCREV = "6824d18d5f33fdab445a8eff147fcdb6361f5791"
18
19S = "${WORKDIR}/git"
20
21COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64).*-linux*"
22
23
24EXTRA_OEMAKE = "'ARCH=${TARGET_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' BUILDTYPE=NATIVEONLY ${LIBARGS}"
25CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
26
27TARGET_CC_ARCH += "${LDFLAGS}"
28
29#The CUSTOM_LDSCRIPTS doesn't work with the gold linker
30do_configure() {
31 if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
32 sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/' Makefile
33 fi
34}
35
36do_install() {
37 oe_runmake PREFIX=${prefix} DESTDIR=${D} \
38 INST_TESTSDIR32=${libdir}/libhugetlbfs/tests \
39 INST_TESTSDIR64=${libdir}/libhugetlbfs/tests \
40 install-tests
41}
42
43PARALLEL_MAKE_pn-${PN} = ""
44
45PACKAGES =+ "${PN}-perl ${PN}-tests "
46FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug"
47FILES_${PN}-perl = "${libdir}/perl"
48FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests"
49
50INHIBIT_PACKAGE_STRIP = "1"
51INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
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 @@
1In some cases the host may have too old of a ranlib to work. Since it's
2not exactly a great idea to not be using the cross ranlib anyhow, fix the
3Makefile so we can override ranlib and then override it
4
5Upstream-Status: Inappropriate [build system specific change]
6---
7 src/Makefile | 3 ++-
8 1 file changed, 2 insertions(+), 1 deletion(-)
9
10Index: lmbench-3.0-a9/src/Makefile
11===================================================================
12--- lmbench-3.0-a9.orig/src/Makefile
13+++ lmbench-3.0-a9/src/Makefile
14@@ -38,6 +38,7 @@ CC=`../scripts/compiler`
15 MAKE=`../scripts/make`
16 AR=ar
17 ARCREATE=cr
18+RANLIB=ranlib
19
20 # base of installation location
21 BASE=/usr/local
22@@ -217,7 +218,7 @@ $O/lmbench : ../scripts/lmbench version.
23 $O/lmbench.a: $(LIBOBJS)
24 /bin/rm -f $O/lmbench.a
25 $(AR) $(ARCREATE) $O/lmbench.a $(LIBOBJS)
26- -ranlib $O/lmbench.a
27+ -$(RANLIB) $O/lmbench.a
28
29 $O/lib_timing.o : lib_timing.c $(INCS)
30 $(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 @@
1Upstream-Status: Pending
2Index: lmbench-3.0-a9/scripts/config
3===================================================================
4--- lmbench-3.0-a9/scripts/config 2000-01-31 18:29:31.000000000 -0600
5+++ lmbench-3.0-a9/scripts/config 2013-03-01 00:19:41.032984315 -0600
6@@ -3,5 +3,5 @@
7 UNAME=`uname -n 2>/dev/null`
8 if [ X$UNAME = X ]
9 then echo CONFIG
10-else echo CONFIG.$UNAME
11+else echo ../scripts/CONFIG.$UNAME
12 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 @@
1Now that we have our binaries in /usr/bin rather than the normal
2lmbench hierarchy we need to update the scripts as well to behave well here.
3
4Upstream-Status: Inappropriate [This is related to the OE-specific behavior
5of installing into /usr/bin, etc, rather than dumping everything into
6/usr/share/lmbench or similar]
7
8Index: lmbench-3.0-a9/scripts/results
9===================================================================
10--- lmbench-3.0-a9.orig/scripts/results
11+++ lmbench-3.0-a9/scripts/results
12@@ -8,11 +8,11 @@ RESULTS=results/$OS
13 BASE=../$RESULTS/`uname -n`
14 EXT=0
15
16-if [ ! -f "../bin/$OS/$CONFIG" ]
17+if [ ! -f "$CONFIG" ]
18 then echo "No config file?"
19 exit 1
20 fi
21-. ../bin/$OS/$CONFIG
22+. $CONFIG
23
24 if [ ! -d ../$RESULTS ]
25 then mkdir -p ../$RESULTS
26@@ -23,11 +23,9 @@ do EXT=`expr $EXT + 1`
27 RESULTS=$BASE.$EXT
28 done
29
30-cd ../bin/$OS
31-PATH=.:${PATH}; export PATH
32 export SYNC_MAX
33 export OUTPUT
34-lmbench $CONFIG 2>../${RESULTS}
35+lmbench $CONFIG 2>${RESULTS}
36
37 if [ X$MAIL = Xyes ]
38 then echo Mailing results
39Index: lmbench-3.0-a9/scripts/config-run
40===================================================================
41--- lmbench-3.0-a9.orig/scripts/config-run
42+++ lmbench-3.0-a9/scripts/config-run
43@@ -132,20 +132,20 @@ export LMBENCH_SCHED
44 ############################################################################
45 echo $L; echo "";
46 echo "Hang on, we are calculating your timing granularity."
47-../bin/$OS/msleep 250
48-ENOUGH=`../bin/$OS/enough`
49+msleep 250
50+ENOUGH=`enough`
51 export ENOUGH
52 echo "OK, it looks like you can time stuff down to $ENOUGH usec resolution."
53 echo ""
54 echo "Hang on, we are calculating your timing overhead."
55-../bin/$OS/msleep 250
56-TIMING_O=`../bin/$OS/timing_o`
57+msleep 250
58+TIMING_O=`timing_o`
59 export TIMING_O
60 echo "OK, it looks like your gettimeofday() costs $TIMING_O usecs."
61 echo ""
62 echo "Hang on, we are calculating your loop overhead."
63-../bin/$OS/msleep 250
64-LOOP_O=`../bin/$OS/loop_o`
65+msleep 250
66+LOOP_O=`loop_o`
67 export LOOP_O
68 echo "OK, it looks like your benchmark loop costs $LOOP_O usecs."
69 echo ""
70@@ -177,7 +177,7 @@ then
71 fi
72 if [ X$MB = X ]
73 then $ECHON "Probing system for available memory: $ECHOC"
74- MB=`../bin/$OS/memsize 4096`
75+ MB=`memsize 4096`
76 fi
77 TOTAL_MEM=$MB
78 MB=`echo \( $MB \* 7 \) / 10 | bc 2>/dev/null`
79@@ -205,9 +205,9 @@ fi
80 # Certain machines tend to barf when you try and bcopy 8MB.
81 # Figure out how much we can use.
82 echo "Checking to see if you have $MB MB; please wait for a moment..."
83-MB=`../bin/$OS/memsize $MB`
84-MB=`../bin/$OS/memsize $MB`
85-MB=`../bin/$OS/memsize $MB`
86+MB=`memsize $MB`
87+MB=`memsize $MB`
88+MB=`memsize $MB`
89 if [ `expr $SYNC_MAX \* $MB` -gt `expr $TOTAL_MEM` ]
90 then
91 MB=`expr $TOTAL_MEM / $SYNC_MAX`
92@@ -223,8 +223,8 @@ then echo Warning: you have only ${MB}MB
93 fi
94
95 echo "Hang on, we are calculating your cache line size."
96-../bin/$OS/msleep 250
97-LINE_SIZE=`../bin/$OS/lm_line -M ${MB}M`
98+msleep 250
99+LINE_SIZE=`lm_line -M ${MB}M`
100 export LINE_SIZE
101 echo "OK, it looks like your cache line is $LINE_SIZE bytes."
102 echo ""
103@@ -479,7 +479,7 @@ EOF
104 then
105 for i in $disks
106 do if [ -r $i ]
107- then ../bin/$OS/flushdisk $i
108+ then flushdisk $i
109 if [ $? -eq 1 ]
110 then echo "Must be root to run disk benchmarks."
111 echo "Root is needed to flush the buffer cache"
112@@ -584,7 +584,7 @@ fi
113 echo $L
114 echo ""
115 echo "Calculating mhz, please wait for a moment..."
116-MHZ=`../bin/$OS/mhz`
117+MHZ=`mhz`
118 cat<<EOF
119 I think your CPU mhz is
120
121@@ -689,9 +689,9 @@ esac
122
123 INFO=`../scripts/info`
124 if [ $MAIL = yes ]
125-then if [ ! -f ../bin/$OS/$INFO ]
126- then cp ../scripts/info-template ../bin/$OS/$INFO
127- chmod +w ../bin/$OS/$INFO
128+then if [ ! -f $INFO ]
129+ then cp ../scripts/info-template $INFO
130+ chmod +w $INFO
131 REUSE=no
132 else
133 REUSE=view
134@@ -705,7 +705,7 @@ then if [ ! -f ../bin/$OS/$INFO ]
135 ;;
136 [Vv]*) REUSE=view
137 echo $L
138- more ../bin/$OS/$INFO
139+ more $INFO
140 echo $L
141 ;;
142 *) REUSE=yes
143@@ -733,7 +733,7 @@ EOF
144 then EDITOR=$TMP
145 fi
146 if [ X$EDITOR != "none" ]
147- then $EDITOR ../bin/$OS/`../scripts/info`
148+ then $EDITOR `../scripts/info`
149 fi
150 fi
151 fi
152@@ -750,7 +750,7 @@ EOF
153
154 VERSION=`../scripts/version`
155
156-C=../bin/$OS/`../scripts/config`
157+C=`../scripts/config`
158 echo DISKS=\"$DISKS\" > $C
159 echo DISK_DESC=\"$DISK_DESC\" >> $C
160 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 @@
1From 0d09e31970616e09beb7f238c2b59bfc541148fb Mon Sep 17 00:00:00 2001
2From: Ting Liu <b28495@freescale.com>
3Date: Fri, 22 Nov 2013 15:20:08 +0800
4Subject: [PATCH] use base_libdir instead of hardcoded /lib
5
6Upsteam Status: Inappropriate [configuration]
7
8Signed-off-by: Ting Liu <b28495@freescale.com>
9---
10 src/Makefile | 4 ++--
11 1 files changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/src/Makefile b/src/Makefile
14index c7a8c79..c7e4e3c 100644
15--- a/src/Makefile
16+++ b/src/Makefile
17@@ -143,10 +143,10 @@ install-target:
18 if [ ! -d $(BASE) ]; then mkdir $(BASE); fi
19 if [ ! -d $(BASE)/bin ]; then mkdir $(BASE)/bin; fi
20 if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
21- if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
22+ if [ ! -d $(BASE)$(base_libdir) ]; then mkdir $(BASE)$(base_libdir); fi
23 cp $(EXES) $(BASE)/bin
24 cp $(INCS) $(BASE)/include
25- cp $O/lmbench.a $(BASE)/lib/libmbench.a
26+ cp $O/lmbench.a $(BASE)$(base_libdir)
27 cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install
28
29
30--
311.7.5.4
32
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 @@
1#!/bin/sh
2# Wrapper script for lmbench written for the
3# Debian GNU/Linux distribution by
4# Javier Fernandez-Sanguino.
5# Distributed under the GPL
6SHAREDIR=/usr/share/lmbench/
7BINDIR=/usr/lib/lmbench/
8SCRIPTSDIR=$SHAREDIR/scripts
9RESULTSDIR=$SHAREDIR/results
10CONFIG=/var/lib/lmbench/config/`$SCRIPTSDIR/config`
11runuid=`id -u`
12
13[ $runuid -gt 0 ] && {
14 echo "You must run this as the root user"
15 exit 0
16}
17cd $SCRIPTSDIR
18[ ! -f $CONFIG ] && ./config-run
19./results
20
21echo "Benchmark run finished...."
22echo "Remember you can find the results of the benchmark "
23echo "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 @@
1Both lmbench and util-linux-ng packages provide own /usr/bin/line binaries.
2Even though the binaries name is the same, their functionality is different.
3This patch renames lmbench's line binary as lm_line to avoid conflicts with
4util-linux-ng. script/config-run is also modified (patch) to call lm_line
5instead of line.
6
7Upstream-Status: Inappropriate [build system specific change]
8
9--- patches/scripts/config-run 2006-11-26 15:11:04.000000000 -0500
10+++ patches/scripts/config-run 2011-04-01 09:35:50.000000000 -0400
11@@ -224,7 +224,7 @@ fi
12
13 echo "Hang on, we are calculating your cache line size."
14 ../bin/$OS/msleep 250
15-LINE_SIZE=`../bin/$OS/line -M ${MB}M`
16+LINE_SIZE=`../bin/$OS/lm_line -M ${MB}M`
17 export LINE_SIZE
18 echo "OK, it looks like your cache line is $LINE_SIZE bytes."
19 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..41db15000e
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -0,0 +1,76 @@
1SUMMARY = "Tools for performance analysis"
2HOMEPAGE = "http://lmbench.sourceforge.net/"
3SECTION = "console/utils"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
6 file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9"
7
8inherit autotools-brokensep
9
10PR = "r2"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
13 file://lmbench-run \
14 file://rename-line-binary.patch \
15 file://update-results-script.patch \
16 file://obey-ranlib.patch \
17 file://update-config-script.patch \
18 file://use-base_libdir-instead-of-hardcoded-lib.patch \
19"
20SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
21SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
22
23EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
24 LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
25 TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
26
27do_configure() {
28 :
29}
30
31do_compile () {
32 . ${CONFIG_SITE}
33 if [ X"$ac_cv_uint" = X"yes" ]; then
34 CFLAGS="${CFLAGS} -DHAVE_uint"
35 fi
36 install -d ${S}/bin/${TARGET_SYS}
37 oe_runmake -C src
38}
39
40do_install () {
41 install -d ${D}${sysconfdir}/default/volatiles \
42 ${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \
43 ${D}${datadir}/lmbench/scripts
44
45 echo "d root root 0755 ${localstatedir}/run/${BPN} none" \
46 > ${D}${sysconfdir}/default/volatiles/99_lmbench
47 if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
48 install -d ${D}${sysconfdir}/tmpfiles.d
49 echo "d /run/${BPN} - - - -" \
50 > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf
51 fi
52
53 oe_runmake 'BASE=${D}${prefix}' \
54 -C src install
55 mv ${D}${bindir}/line ${D}${bindir}/lm_line
56 install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
57 sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \
58 -e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' \
59 -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
60 ${D}${bindir}/lmbench-run
61 install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
62 install -m 0755 ${S}/scripts/* ${D}${datadir}/lmbench/scripts
63}
64
65pkg_postinst_${PN} () {
66 if [ -z "$D" ]; then
67 if command -v systemd-tmpfiles >/dev/null; then
68 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/lmbench.conf
69 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
70 ${sysconfdir}/init.d/populate-volatile.sh update
71 fi
72 fi
73}
74
75RDEPENDS_${PN} = "debianutils"
76FILES_${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 @@
1From 9a950b14b9f7767d83e5faac2e1e8203c500e2c2 Mon Sep 17 00:00:00 2001
2From: Rod Whitby <rod@whitby.id.au>
3Date: Tue, 25 Oct 2011 18:43:50 -0500
4Subject: [PATCH] memtester: Added patch to Makefile to change no-longer-supported 'head -1' syntax to 'head -n 1'.
5
6Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
7---
8 Makefile | 4 ++--
9 1 files changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/Makefile b/Makefile
12index a271bf5..6bccff3 100644
13--- a/Makefile
14+++ b/Makefile
15@@ -32,8 +32,8 @@ install: all
16 auto-ccld.sh: \
17 conf-cc conf-ld warn-auto.sh
18 ( cat warn-auto.sh; \
19- echo CC=\'`head -1 conf-cc`\'; \
20- echo LD=\'`head -1 conf-ld`\' \
21+ echo CC=\'`head -n 1 conf-cc`\'; \
22+ echo LD=\'`head -n 1 conf-ld`\' \
23 ) > auto-ccld.sh
24
25 compile: \
26--
271.7.0.4
28
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 @@
1SUMMARY = "Utility to test for faulty memory subsystem"
2HOMEPAGE = "http://pyropus.ca/software/memtester/"
3SECTION = "console/utils"
4LICENSE = "GPLv2"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
7
8SRC_URI = "http://pyropus.ca/software/memtester/old-versions/memtester-${PV}.tar.gz"
9SRC_URI += "file://Makefile.patch"
10
11SRC_URI[md5sum] = "e562451620cf5343016950462bc0dc38"
12SRC_URI[sha256sum] = "ac56f0b6d6d6e58bcf2a3fa7f2c9b29894f5177871f21115a1906c535106acf6"
13
14do_compile () {
15 echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc
16 echo '${CC} ${LDFLAGS}' > conf-ld
17 oe_runmake
18}
19
20do_install () {
21 install -d ${D}${bindir}
22 install -d ${D}${mandir}/man8
23 install -m 0755 memtester ${D}${bindir}/
24 install -m 0755 memtester.8 ${D}${mandir}/man8/
25}
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 @@
1From 81f4043a6787060029ef20eed21cdcf3e50337df Mon Sep 17 00:00:00 2001
2From: Chase Maupin <Chase.Maupin@ti.com>
3Date: Tue, 28 Feb 2012 14:58:35 -0600
4Subject: [PATCH] nbench: modify Makefile for 32bit
5
6* Patch taken from OE classic git repository as of commit id
7 ad42bf9065928b2902d7d9534709d3ccea7ec956 and was added by:
8 * Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
9* Notes from original patch were:
10
11BYTE Magazine's native benchmarks (also called BYTEmark) designed to
12expose the capabilities of a system's CPU, FPU and memory system.
13
14http://www.tux.org/~mayer/linux/
15
16Recipe from old Atmel overlay.
17
18Upstream-Status: Inappropriate [no upstream]
19
20Signed-off-by: Chase Maupin <chase.maupin@ti.com>
21---
22 Makefile | 8 ++------
23 1 files changed, 2 insertions(+), 6 deletions(-)
24
25diff --git a/Makefile b/Makefile
26index 5045c77..915866d 100644
27--- a/Makefile
28+++ b/Makefile
29@@ -119,12 +119,8 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile
30 $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
31 -c emfloat.c
32
33-pointer.h: pointer Makefile
34- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
35- -o pointer pointer.c
36- rm -f pointer.h
37- if [ "4" = `./pointer` ] ; then touch pointer.h ;\
38- else echo "#define LONG64" >pointer.h ; fi
39+pointer.h: Makefile
40+ touch pointer.h ;
41
42 misc.o: misc.h misc.c Makefile
43 $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
44--
451.7.0.4
46
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..37f3e46a7e
--- /dev/null
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -0,0 +1,24 @@
1DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \
2designed to expose the capabilities of a system's CPU, FPU, \
3and memory system."
4HOMEPAGE = "http://www.tux.org/~mayer/linux/"
5LICENSE = "freely distributable"
6LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
7SECTION = "console/utils"
8
9SRC_URI = "http://www.tux.org/~mayer/linux/${PN}-${PV}.tar.gz \
10 file://nbench_32bits.patch"
11
12SRC_URI[md5sum] = "285dfab361080759d477ea1fe7d3093a"
13SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac"
14
15TARGET_CC_ARCH += "${CFLAGS} ${LDFLAGS}"
16do_compile() {
17 oe_runmake
18}
19
20do_install () {
21 install -d ${D}${bindir}
22 install -m 0644 NNET.DAT ${D}${bindir}/
23 install -m 0755 nbench ${D}${bindir}/
24}
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 @@
1From: Otavio Salvador <otavio@ossystems.com.br>
2Subject: [PATCH] Avoid aligned allocation function name clashes
3
4glibc added new methods for aligned allocation and it clashes with the
5local version used by 'tiobench'. To fix it, we prefix the methods
6with '_'.
7
8Upstream-Status: Pending
9
10Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
11---
12 tiotest.c | 8 ++++----
13 1 files changed, 4 insertions(+), 4 deletions(-)
14
15diff --git a/tiotest.c b/tiotest.c
16index 38f54e7..6b3d0c3 100644
17--- a/tiotest.c
18+++ b/tiotest.c
19@@ -31,7 +31,7 @@ static const char* versionStr = "tiotest v0.3.3 (C) 1999-2000 Mika Kuoppala <mik
20 */
21 ArgumentOptions args;
22
23-static void * aligned_alloc(ssize_t size)
24+static void * _aligned_alloc(ssize_t size)
25 {
26 caddr_t a;
27 a = mmap((caddr_t )0, size,
28@@ -41,7 +41,7 @@ static void * aligned_alloc(ssize_t size)
29 return a;
30 }
31
32-static int aligned_free(caddr_t a, ssize_t size)
33+static int _aligned_free(caddr_t a, ssize_t size)
34 {
35 return munmap(a, size);
36 }
37@@ -281,7 +281,7 @@ void initialize_test( ThreadTest *d )
38 pthread_attr_setscope(&(d->threads[i].thread_attr),
39 PTHREAD_SCOPE_SYSTEM);
40
41- d->threads[i].buffer = aligned_alloc( d->threads[i].blockSize );
42+ d->threads[i].buffer = _aligned_alloc( d->threads[i].blockSize );
43 if( d->threads[i].buffer == NULL )
44 {
45 perror("Error allocating memory");
46@@ -383,7 +383,7 @@ void cleanup_test( ThreadTest *d )
47 {
48 if (!args.rawDrives)
49 unlink(d->threads[i].fileName);
50- aligned_free( d->threads[i].buffer, d->threads[i].blockSize );
51+ _aligned_free( d->threads[i].buffer, d->threads[i].blockSize );
52 d->threads[i].buffer = 0;
53
54 pthread_attr_destroy( &(d->threads[i].thread_attr) );
55--
561.7.7
57
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 @@
1Adapt tiobench to OE
2Author: Ludovic Desroches <ludovic.desroches@atmel.com>
3
4Upstream-Status: Inappropriate [not author]
5
6Index: Makefile
7===================================================================
8--- a/Makefile 2011-05-26 07:48:46.341400974 +0200
9+++ b/Makefile 2011-05-30 06:32:38.091401358 +0200
10@@ -1,8 +1,9 @@
11 # Makefile for tiotest
12
13-CC=gcc
14+CC?=gcc
15 #CFLAGS=-O3 -fomit-frame-pointer -Wall
16 CFLAGS=-O2 -Wall
17+LDFLAGS?=
18
19 #DEFINES=-DUSE_MMAP
20 #-DUSE_MADVISE
21@@ -14,16 +15,16 @@
22
23 #DEFINES=
24
25-LINK=gcc
26+LINK?=$(CC)
27 EXE=tiotest
28 PROJECT=tiobench
29 # do it once instead of each time referenced
30 VERSION=$(shell egrep "tiotest v[0-9]+.[0-9]+" tiotest.c | cut -d " " -f 7 | sed "s/v//g")
31 DISTNAME=$(PROJECT)-$(VERSION)
32 INSTALL=install
33-PREFIX=/usr/local
34+PREFIX?=/usr/local
35 BINDIR=$(PREFIX)/bin
36-DOCDIR=/usr/local/doc/$(DISTNAME)
37+DOCDIR=$(PREFIX)/share/doc/$(DISTNAME)
38
39 all: $(EXE)
40
41@@ -34,7 +35,7 @@
42 $(CC) -c $(CFLAGS) $(DEFINES) tiotest.c -o tiotest.o
43
44 $(EXE): tiotest.o crc32.o
45- $(LINK) -o $(EXE) tiotest.o crc32.o -lpthread
46+ $(LINK) -o $(EXE) tiotest.o crc32.o -lpthread $(LDFLAGS)
47 @echo
48 @echo "./tiobench.pl --help for usage options"
49 @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..af6c53c377
--- /dev/null
+++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
@@ -0,0 +1,28 @@
1SUMMARY = "Threaded I/O tester"
2HOMEPAGE = "http://sourceforge.net/projects/tiobench/"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
5
6PR = "r1"
7
8SRC_URI = "\
9 http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${P}.tar.gz \
10 file://tiobench-makefile.patch \
11 file://avoid-glibc-clashes.patch \
12"
13SRC_URI[md5sum] = "bf485bf820e693c79e6bd2a38702a128"
14SRC_URI[sha256sum] = "8ad011059a35ac70cdb5e3d3999ceee44a8e8e9078926844b0685b7ea9db2bcc"
15
16EXTRA_OEMAKE = "PREFIX=${D}/usr"
17
18do_install() {
19 oe_runmake install
20}
21
22RDEPENDS_${PN} = "\
23 perl \
24 perl-module-exporter-heavy \
25 perl-module-getopt-long \
26 perl-module-overload \
27 perl-module-strict \
28"