summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-benchmark
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-benchmark
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
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.bb32
-rw-r--r--meta-oe/recipes-benchmark/bonnie/files/gcc-4.3-fixes.patch19
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb30
-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_2014.03.bb37
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3/copyright.txt62
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3_414.bb114
-rw-r--r--meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch52
-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.bb19
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch38
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch32
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-cross-compilation.patch34
-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-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch57
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch29
-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/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.patch23
-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.bb67
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch206
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch61
-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.bb78
-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/Makefile-add-more-dependencies-to-pointer.h.patch23
-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.bb25
-rw-r--r--meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.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
44 files changed, 1981 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 000000000..2c1217e34
--- /dev/null
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb
@@ -0,0 +1,32 @@
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}"
31
32RDEPENDS_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 000000000..67f1b7494
--- /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_20140626.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
new file mode 100644
index 000000000..14e3fc4f3
--- /dev/null
+++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
@@ -0,0 +1,30 @@
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 https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb"
12
13SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456"
14SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2"
15SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94"
16SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d"
17
18S = "${WORKDIR}"
19
20do_compile() {
21 ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
22 ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8
23}
24
25do_install() {
26 install -d ${D}${bindir}
27 install -m 0755 ${S}/burn ${D}${bindir}/burn-neon
28 install -m 0755 ${S}/burn-neona8 ${D}${bindir}/
29}
30
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 000000000..1915e4c2e
--- /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 000000000..4cd2a35f5
--- /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} @top_srcdir@/client.txt $(DESTDIR)$(datadir)
23+ ${INSTALLCMD} -m644 @top_srcdir@/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 000000000..11fb4ffbd
--- /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} @top_srcdir@/client.txt $(DESTDIR)$(datadir)
14- ${INSTALLCMD} -m644 @top_srcdir@/dbench.1 $(DESTDIR)$(mandir)
15+ ${INSTALLCMD} -m 644 @top_srcdir@/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 000000000..db97244bc
--- /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 000000000..8dcf63796
--- /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_2014.03.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
new file mode 100644
index 000000000..708b6d2ea
--- /dev/null
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb
@@ -0,0 +1,37 @@
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 virtual/libx11"
12
13# depends on virtual/libx11
14REQUIRED_DISTRO_FEATURES = "x11"
15
16SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz"
17
18SRC_URI[md5sum] = "739859cf57d4c8a23452c43e84f66e56"
19SRC_URI[sha256sum] = "bded41aaf918ce062d9b81e42cc5be943e6a80bc4ff9d046983b96102c3df6b5"
20
21inherit waf pkgconfig distro_features_check
22
23PACKAGECONFIG ?= "gl gles2"
24
25PACKAGECONFIG[gl] = ",,virtual/libgl"
26PACKAGECONFIG[gles2] = ",,virtual/libgles2"
27
28python __anonymous() {
29 packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
30 flavors = []
31 if "gles2" in packageconfig:
32 flavors.append("x11-glesv2")
33 if "gl" in packageconfig:
34 flavors.append("x11-gl")
35 if flavors:
36 d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
37}
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 000000000..3468fa929
--- /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 000000000..14373b9e0
--- /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/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 000000000..e8a029790
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
@@ -0,0 +1,52 @@
1iperf: fix out of tree configuration
2
3The configure step uses a package header to check for support of types/declares,
4this package header encapsulates all the required system header for providing
5the needed resources. When configured from an out of tree directory the package
6header is not found due to the hard path.
7We now make the path for package header relative to our 'srcdir' so it is
8found appropriately.
9
10Signed-off-by: Awais Belal <awais_belal@mentor.com>
11---
12diff --git a/configure.ac b/configure.ac
13index 2b3fd20..d420f9e 100644
14--- a/configure.ac
15+++ b/configure.ac
16@@ -176,8 +176,8 @@ dnl Check for system services
17
18 dnl check for multicast
19 if test "$ac_cv_multicast" != no; then
20- AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"])
21- AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
22+ AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
23+ AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
24 AC_MSG_CHECKING(for multicast support)
25 ac_cv_multicast=no
26 if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then
27@@ -193,9 +193,9 @@ fi
28
29 dnl check for IPv6
30 if test "$ac_cv_have_ipv6" != no; then
31- AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"])
32- AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"])
33- AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"])
34+ AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"])
35+ AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"])
36+ AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"])
37 AC_MSG_CHECKING(for IPv6 headers and structures)
38 ac_cv_have_ipv6=no
39 if test "$ac_cv_type_struct_sockaddr_storage" = yes; then
40@@ -211,9 +211,9 @@ fi
41
42 if test "$ac_cv_have_ipv6" = yes; then
43 if test "$ac_cv_multicast" = yes; then
44- AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"])
45- AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
46- AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"])
47+ AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
48+ AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
49+ AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"])
50 AC_MSG_CHECKING(for IPv6 multicast support)
51 ac_cv_have_ipv6_multicast=no
52 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 000000000..12e8f4631
--- /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 000000000..20adc0db9
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
@@ -0,0 +1,19 @@
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/${BP}.tar.gz \
8 file://iperf-2.0.5_ManPage.patch \
9 file://0001-fix-out-of-tree-config.patch \
10 "
11
12SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
13SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b"
14
15S = "${WORKDIR}/${PN}-${PV}"
16
17inherit autotools pkgconfig
18
19EXTRA_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 000000000..f6147cbf3
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch
@@ -0,0 +1,38 @@
1From 5af6dec8764375ca4f13bd9fed96af090228351a Mon Sep 17 00:00:00 2001
2From: "Gary S. Robertson" <gary.robertson@linaro.org>
3Date: Mon, 11 Aug 2014 11:06:04 -0500
4Subject: [libhugetlbfs][PATCH] Extend arm32 support to include BE variants
5
6This patch applies the same technique used by Koen Kool in the following patch
7which was accepted by the libhugetlbfs project:
8
9[0a4f6] Add aarch64_be_support 2014-03-31 10:52:37
10
11It modifies the libhugetlbfs Makefile to mark all 32-bit arm architectures
12as supported by the libhugetlbfs build. Builds and successful functional
13tests have been performed for armv7a LE and BE runtime platforms.
14
15This patch replaces and renders obsolete the following patch:
16arm32-support.patch submitted by: Chunrong Guo <B40290@freescale.com>
17
18Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
19---
20 Makefile | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/Makefile b/Makefile
24index 91502e1..ba79607 100644
25--- a/Makefile
26+++ b/Makefile
27@@ -59,7 +59,7 @@ ELF32 = elf32ppclinux
28 TMPLIB32 = lib
29 CPPFLAGS += -DPPC_NO_SEGMENTS
30 else
31-ifeq ($(ARCH),armv7l)
32+ifneq (,$(findstring arm,$(ARCH)))
33 CC32 = $(CC)
34 TMPLIB32 = lib
35 ELF32 += armelf_linux_eabi
36--
371.7.9.5
38
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 000000000..271827511
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch
@@ -0,0 +1,32 @@
1From a0166583ba5f7b6a6d2de434f633126fb12c9d29 Mon Sep 17 00:00:00 2001
2From: "Gary S. Robertson" <gary.robertson@linaro.org>
3Date: Wed, 24 Sep 2014 15:27:31 -0500
4Subject: [PATCH] Makefile: Recognize all ix86 arches
5
6In a non-native build scenario, the makefile
7only recognized i386 or x86_64 arches. Added support
8to recognize i486, i586, i686.
9
10Upstream Status: Accepted by libhugetlbfs project
11
12Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
13---
14 Makefile | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/Makefile b/Makefile
18index 91502e1..0bfaee8 100644
19--- a/Makefile
20+++ b/Makefile
21@@ -71,7 +71,7 @@ ELF64 = aarch64elf
22 TMPLIB64 = lib64
23 CUSTOM_LDSCRIPTS = no
24 else
25-ifeq ($(ARCH),i386)
26+ifneq (,$(filter i386 i486 i586 i686,$(ARCH)))
27 CC32 = $(CC)
28 ELF32 = elf_i386
29 TMPLIB32 = lib
30--
311.7.9.5
32
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 000000000..215ae728d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-cross-compilation.patch
@@ -0,0 +1,34 @@
1Subject: [PATCH] aarch64: fix cross compilation
2
3This patch allow to override CC and use it for aarch64 case like
4the other architectures.
5
6Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
7
8Upstream-Status: Submitted
9---
10 Makefile | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/Makefile b/Makefile
14index 91502e1..5aa1e12 100644
15--- a/Makefile
16+++ b/Makefile
17@@ -33,7 +33,7 @@ CFLAGS += -Wall -fPIC
18 CPPFLAGS += -D__LIBHUGETLBFS__
19
20 ARCH = $(shell uname -m | sed -e s/i.86/i386/)
21-CC = gcc
22+CC ?= gcc
23
24 CUSTOM_LDSCRIPTS = yes
25
26@@ -66,7 +66,7 @@ ELF32 += armelf_linux_eabi
27 CUSTOM_LDSCRIPTS = no
28 else
29 ifneq (,$(findstring aarch64,$(ARCH)))
30-CC64 = gcc
31+CC64 = $(CC)
32 ELF64 = aarch64elf
33 TMPLIB64 = lib64
34 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 000000000..0b8d0e4d5
--- /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-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 000000000..4e5b7bbbb
--- /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 @@
1From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001
2From: "Gary S. Robertson" <gary.robertson@linaro.org>
3Date: Thu, 25 Sep 2014 14:57:06 -0500
4Subject: [PATCH] ld.hugetlbfs: arm arches - fix page size and text offset
5 setup
6
7There's 3 issues fixed:
8* typo on MB variable (MB -> $MB)
9* some linker variants are missing (linux and big endian)
10 - armelfb_linux_eabi
11 - aarch64elfb
12 - aarch64linux
13 - aarch64linuxb
14* text segment offset was not specified for armv7 BE
15
16NOTE: This patch replaces and makes obsolete the following previously
17 submitted patch:
18
19 aarch64: fix page size not properly computed
20 by: Fathi Boudra <fathi.boudra@linaro.org>
21
22Upstream Status: Accepted at libhugetlbfs project
23
24Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
25---
26 ld.hugetlbfs | 8 ++++----
27 1 file changed, 4 insertions(+), 4 deletions(-)
28
29diff --git a/ld.hugetlbfs b/ld.hugetlbfs
30index df446dd..4417442 100755
31--- a/ld.hugetlbfs
32+++ b/ld.hugetlbfs
33@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
34 elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;;
35 elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
36 elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
37-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;;
38+armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;;
39 esac
40
41 if [ "$HTLB_ALIGN" == "slice" ]; then
42@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then
43
44 # targeting the ARM platform one needs to explicitly set the text segment offset
45 # otherwise it will be NULL.
46- if [ "$EMU" == "armelf_linux_eabi" ]; then
47- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE"
48- fi
49+ case "$EMU" in
50+ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;;
51+ esac
52 fi
53
54 ${LD} "${args[@]}" ${HTLBOPTS}
55--
561.7.9.5
57
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 000000000..9e2a5e58d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch
@@ -0,0 +1,29 @@
1Subject: [PATCH 1/1] Replace lib/lib64 hardcoded values by LIBDIR32/LIBDIR64
2 variables
3
4Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
5
6Upstream-Status: Submitted
7---
8 Makefile | 4 ++--
9 1 file changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/Makefile b/Makefile
12index 91502e1..682c0db 100644
13--- a/Makefile
14+++ b/Makefile
15@@ -181,9 +181,9 @@ BINDIR = $(PREFIX)/share/libhugetlbfs
16 EXEDIR = $(PREFIX)/bin
17 DOCDIR = $(PREFIX)/share/doc/libhugetlbfs
18 ifdef CC32
19-PMDIR = $(PREFIX)/lib/perl5/TLBC
20+PMDIR = $(LIBDIR32)/perl5/TLBC
21 else
22-PMDIR = $(PREFIX)/lib64/perl5/TLBC
23+PMDIR = $(LIBDIR64)/perl5/TLBC
24 endif
25 MANDIR1 = $(PREFIX)/share/man/man1
26 MANDIR3 = $(PREFIX)/share/man/man3
27--
281.9.2
29
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 000000000..3082d7ef5
--- /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/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 000000000..676fa8a7a
--- /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 000000000..b3fd84312
--- /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 000000000..07a99719b
--- /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 @@
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
6Upstream-Status: Inappropriate [oe-core specific]
7Signed-off-by: Ting Liu <b28495@freescale.com>
8---
9
10diff --git a/Makefile b/Makefile
11index 91502e1..bfb3414 100644
12--- a/Makefile
13+++ b/Makefile
14@@ -167,7 +167,6 @@ REALLIB32 = $(realpath $(PREFIX)/$(LIB32))
15 REALLIB64 = $(realpath $(PREFIX)/$(LIB64))
16 ifneq ($(realpath $(PREFIX)),)
17 ifeq ($(REALLIB32),$(REALLIB64))
18-$(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)
19 endif
20 endif
21
22--
231.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 000000000..249f6e1e2
--- /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 000000000..4ce6a1901
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -0,0 +1,67 @@
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} += "bash perl python python-io python-lang python-subprocess python-resource"
7RDEPENDS_${PN}-tests += "bash"
8
9PV = "2.18"
10PE = "1"
11
12SRCREV = "ea3f6b273f535aab38cefae30030774457bbbfe6"
13SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \
14 file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \
15 file://libhugetlbfs-avoid-search-host-library-path-for-cros.patch \
16 file://tests-Makefile-install-static-4G-edge-testcases.patch \
17 file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
18 file://0001-aarch64-fix-cross-compilation.patch \
19 file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \
20 file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \
21 file://0001-Extend-arm32-support-to-include-BE-variants.patch \
22 file://0001-Makefile-Recognize-all-ix86-arches.patch \
23"
24
25S = "${WORKDIR}/git"
26
27COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
28
29LIBARGS = "LIB32=${baselib} LIB64=${baselib}"
30LIBHUGETLBFS_ARCH = "${TARGET_ARCH}"
31LIBHUGETLBFS_ARCH_powerpc = "ppc"
32LIBHUGETLBFS_ARCH_powerpc64 = "ppc64"
33EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2"
34PARALLEL_MAKE = ""
35CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
36
37TARGET_CC_ARCH += "${LDFLAGS}"
38
39#The CUSTOM_LDSCRIPTS doesn't work with the gold linker
40do_configure() {
41 if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
42 sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/' Makefile
43 fi
44
45 # fixup perl module directory hardcoded to perl5
46 sed -i 's/perl5/perl/g' Makefile
47}
48
49do_install() {
50 oe_runmake PREFIX=${prefix} DESTDIR=${D} \
51 INST_TESTSDIR32=${libdir}/libhugetlbfs/tests \
52 INST_TESTSDIR64=${libdir}/libhugetlbfs/tests \
53 install-tests
54}
55
56
57PACKAGES =+ "${PN}-perl ${PN}-tests "
58FILES_${PN} += "${libdir}/*.so"
59FILES_${PN}-dev = "${includedir}"
60FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug"
61FILES_${PN}-perl = "${libdir}/perl"
62FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests"
63
64INSANE_SKIP_${PN} = "dev-so"
65
66INHIBIT_PACKAGE_STRIP = "1"
67INHIBIT_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 000000000..549a114d1
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
@@ -0,0 +1,206 @@
1lmbench: Can't proceed on some targets
2
3lmbench can't proceed on some targets. The memory check fails because the
4memory latency of each page is longer then 10us, which is a time limit set
5in the original memsize.c.
6
7The memory latency is very different on different targets due to the
8hardware and current system load. The targets with slower memory
9chips or heavy system load need much longer time to read or write
10the memory.
11
12This fix changes the fixed time limit of 10us to a specific value calculated
13from the runtime target.
14
15Also set an upper limit of memory size used for lmbench testing. The memory
16check sometimes fails if the target has a large amount of memory, for
17example more than 4G.
18
19Signed-off-by: Qingming Su <qingming.su@windriver.com>
20Signed-off-by: Fupan Li <fupan.li@windriver.com>
21
22Add and reword above comments
23
24Upstream-status: inappropriate [ configuration ]
25
26Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
27
28diff --git a/scripts/config-run b/scripts/config-run
29index e1f7b6d..31b9256 100755
30--- a/scripts/config-run
31+++ b/scripts/config-run
32@@ -214,6 +214,12 @@ The bigger the range, the more accurate the results, but larger sizes
33 take somewhat longer to run the benchmark.
34
35 EOF
36+
37+# By default, use 512M memory as the upper limit for lmbench test
38+if [ $MB -gt 512 ];then
39+MB=512
40+fi
41+
42 echo $ECHON "MB [default $MB]: $ECHOC"
43 #read TMP
44 TMP=""
45@@ -718,10 +724,10 @@ case $MAIL in
46 ;;
47 esac
48
49-INFO=`../scripts/info`
50+INFO=`../scripts/hostinfo`
51 if [ $MAIL = yes ]
52 then if [ ! -f $INFO ]
53- then cp ../scripts/info-template $INFO
54+ then cp ../scripts/hostinfo-template $INFO
55 chmod +w $INFO
56 REUSE=no
57 else
58@@ -765,7 +771,7 @@ EOF
59 then EDITOR=$TMP
60 fi
61 if [ X$EDITOR != "none" ]
62- then $EDITOR `../scripts/info`
63+ then $EDITOR `../scripts/hostinfo`
64 fi
65 fi
66 fi
67diff --git a/src/Makefile b/src/Makefile
68index d1f0dc6..5098998 100644
69--- a/src/Makefile
70+++ b/src/Makefile
71@@ -49,7 +49,7 @@ TARGET=`../scripts/target`
72 BINDIR=../bin/$(OS)
73 CONFIG=../bin/$(OS)/`../scripts/config`
74 UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \
75- ../scripts/info ../scripts/info-template ../scripts/version \
76+ ../scripts/hostinfo ../scripts/hostinfo-template ../scripts/version \
77 ../scripts/config ../scripts/config-run ../scripts/results \
78 ../scripts/lmbench ../scripts/make ../scripts/build
79 INSTALL=cp
80@@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS)
81 $(COMPILE) -c getopt.c -o $O/getopt.o
82
83 $(UTILS) :
84- -cd ../scripts; make get
85+ -cd ../scripts; cp info hostinfo; cp info-template hostinfo-template
86
87 # Do not remove the next line, $(MAKE) depend needs it
88 # MAKEDEPEND follows
89diff --git a/src/memsize.c b/src/memsize.c
90index eb25a09..cf9fe0c 100644
91--- a/src/memsize.c
92+++ b/src/memsize.c
93@@ -14,9 +14,12 @@ char *id = "$Id$\n";
94
95 #define CHK(x) if ((x) == -1) { perror("x"); exit(1); }
96
97-#ifndef TOO_LONG
98-#define TOO_LONG 10 /* usecs */
99-#endif
100+//#ifndef TOO_LONG
101+//#define TOO_LONG 10 /* usecs */
102+//#endif
103+
104+#define MEMORY_SIZE_1MB (1024 * 1024)
105+#define MEMORY_SIZE_8MB (8 * 1024 * 1024)
106
107 int alarm_triggered = 0;
108
109@@ -35,10 +38,10 @@ main(int ac, char **av)
110 size_t delta;
111
112 if (ac == 2) {
113- max = size = bytes(av[1]) * 1024 * 1024;
114+ max = size = bytes(av[1]) * MEMORY_SIZE_1MB;
115 }
116- if (max < 1024 * 1024) {
117- max = size = 1024 * 1024 * 1024;
118+ if (max < MEMORY_SIZE_1MB) {
119+ max = size = 1024 * MEMORY_SIZE_1MB;
120 }
121 /*
122 * Binary search down and then binary search up
123@@ -48,7 +51,7 @@ main(int ac, char **av)
124 }
125 /* delta = size / (2 * 1024 * 1024) */
126 for (delta = (size >> 21); delta > 0; delta >>= 1) {
127- uint64 sz = (uint64)size + (uint64)delta * 1024 * 1024;
128+ uint64 sz = (uint64)size + (uint64)delta * MEMORY_SIZE_1MB;
129 size_t check = sz;
130 if (max < sz) continue;
131 if (check < sz || !test_malloc(sz)) break;
132@@ -66,41 +69,58 @@ timeit(char *where, size_t size)
133 {
134 int sum = 0;
135 size_t n;
136- size_t s_prev;
137+ size_t s_prev = MEMORY_SIZE_8MB;
138 size_t range;
139- size_t incr = 1024 * 1024;
140+ size_t incr = MEMORY_SIZE_1MB;
141 size_t pagesize = getpagesize();
142- unsigned long long s;
143-
144- if (size < 1024*1024 - 16*1024) {
145- fprintf(stderr, "Bad size\n");
146- return;
147- }
148+ size_t time_each_page = 0;
149+ size_t too_long = 0;
150+ unsigned long long s;
151+
152+ if (pagesize < MEMORY_SIZE_1MB)
153+ range = MEMORY_SIZE_1MB;
154+ else
155+ range = MEMORY_SIZE_8MB;
156+
157+ incr = MEMORY_SIZE_1MB;
158+
159+ if (size < range) {
160+ fprintf(stderr, "Bad size\n");
161+ return;
162+ }
163+
164+ //Touch range of memory, get the average time (usec) of operating each memory page on this system
165+ start(0);
166+ touchRange(where, range, pagesize);
167+ sum = stop(0, 0);
168+
169+ if ((time_each_page = sum * pagesize / range) < 1)
170+ time_each_page = 1;
171+ //Set the uper limit of time spending on one page
172+ too_long = 10 * time_each_page;
173
174- range = 1024 * 1024;
175- incr = 1024 * 1024;
176- touchRange(where, range, pagesize);
177 for (range += incr; range <= size; range += incr) {
178 n = range / pagesize;
179- set_alarm(n * TOO_LONG);
180+ set_alarm(n * too_long);
181 touchRange(where + range - incr, incr, pagesize);
182 clear_alarm();
183- set_alarm(n * TOO_LONG);
184+ set_alarm(n * too_long);
185 start(0);
186 touchRange(where, range, pagesize);
187 sum = stop(0, 0);
188 clear_alarm();
189- if ((sum / n) > TOO_LONG || alarm_triggered) {
190+ if ((sum / n) > too_long || alarm_triggered) {
191 size = range - incr;
192+ fprintf(stderr, "Error! Memory testing timeout! Touch one page of memory needs more than %d (usecs)\n ", too_long);
193 break;
194 }
195- for (s = 8 * 1024 * 1024; s <= range; s_prev = s, s *= 2)
196+ for (s = s_prev; s <= range; s_prev = s, s *= 2)
197 if (s < s_prev) break;
198 incr = s / 8;
199 if (range < size && size < range + incr) {
200 incr = size - range;
201 }
202- fprintf(stderr, "%dMB OK\r", (int)(range/(1024*1024)));
203+ fprintf(stderr, "%dMB OK\r", (int)(range/MEMORY_SIZE_1MB));
204 }
205 fprintf(stderr, "\n");
206 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 000000000..cda2f0c6d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
@@ -0,0 +1,61 @@
1lmbench: Fix "make html" graph failure
2
3The html-list perl script cannot parse the first line of the result
4files about the lmbench version.
5
6Additional fixes are to make the result's html pages easier to understand.
7
8Signed-off-by: Lin Yu <lin.yu@windriver.com>
9Signed-off-by: Fupan Li <fupan.li@windriver.com>
10
11Reworded patch description.
12
13Upstream-status: inappropriate [ configuration ]
14
15Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
16
17diff --git a/results/Makefile b/results/Makefile
18index 0935376..1ef9a15 100644
19--- a/results/Makefile
20+++ b/results/Makefile
21@@ -186,6 +186,7 @@ paper:
22 # scratch makes you want a Ghz machine.
23 html: dirs
24 -make clean
25+ make ps
26 #$(SCRIPTS)bghtml $(BG)
27 $(SCRIPTS)html-list $(LIST)
28 $(MK) LIST="$(LIST)" summary > HTML/summary.out 2> HTML/summary.errs
29diff --git a/scripts/html-list b/scripts/html-list
30index 9850461..6383115 100755
31--- a/scripts/html-list
32+++ b/scripts/html-list
33@@ -14,7 +14,7 @@ open(H, ">HTML/specific.html");
34 print H <<EOF;
35 <title>LMBENCH System Results</title>
36 <h1>LMBENCH System Results</h1>
37-<h2><a href=summary>Summary of results</a></h2>
38+<h2><a href=summary.out>Summary of results</a></h2>
39 <hr>
40 EOF
41
42@@ -47,7 +47,7 @@ foreach $os (@os) {
43 open(F, $file);
44 $_ = <F>;
45 close(F);
46- next unless /lmbench1.[01]/;
47+ next unless /lmbench[0-9]+.[01]/;
48 chop;
49 $title = $_;
50 #s/.lmbench1.? results for //;
51@@ -103,10 +103,7 @@ EOF
52 if $i < $#os;
53 print S<<EOF;
54 <h4>$title</h4>
55-<a href=../$doc{$what}>Information on this benchmark</a> (Not up to date)
56 <p><IMG SRC="${what}${scale}$N.gif">\n<p>
57-<a href=../lmbench.html>
58-<img align=middle src="../gifs/arrows/b_arrow.gif">LMBENCH table of contents</a>
59 <a href=specific.html>
60 <img align=middle src=\"../gifs/graph.gif\">System results table of contents</a>
61 <p>
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 000000000..41a3b3205
--- /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 000000000..b46e09ad1
--- /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 000000000..894f146d4
--- /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 000000000..3351ce887
--- /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 000000000..e904c75e4
--- /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 000000000..9a405213a
--- /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 000000000..24cd0b0ea
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -0,0 +1,78 @@
1SUMMARY = "Tools for performance analysis"
2HOMEPAGE = "http://lmbench.sourceforge.net/"
3SECTION = "console/utils"
4LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction"
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 file://lmbench_result_html_report.patch \
20 file://fix-lmbench-memory-check-failure.patch \
21"
22SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
23SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
24
25EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
26 LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
27 TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
28
29do_configure() {
30 :
31}
32
33do_compile () {
34 . ${CONFIG_SITE}
35 if [ X"$ac_cv_uint" = X"yes" ]; then
36 CFLAGS="${CFLAGS} -DHAVE_uint"
37 fi
38 install -d ${S}/bin/${TARGET_SYS}
39 oe_runmake -C src
40}
41
42do_install () {
43 install -d ${D}${sysconfdir}/default/volatiles \
44 ${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \
45 ${D}${datadir}/lmbench/scripts
46
47 echo "d root root 0755 ${localstatedir}/run/${BPN} none" \
48 > ${D}${sysconfdir}/default/volatiles/99_lmbench
49 if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
50 install -d ${D}${sysconfdir}/tmpfiles.d
51 echo "d /run/${BPN} - - - -" \
52 > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf
53 fi
54
55 oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \
56 -C src install
57 mv ${D}${bindir}/line ${D}${bindir}/lm_line
58 install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
59 sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
60 -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \
61 -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
62 ${D}${bindir}/lmbench-run
63 install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
64 install -m 0755 ${S}/scripts/* ${D}${datadir}/lmbench/scripts
65}
66
67pkg_postinst_${PN} () {
68 if [ -z "$D" ]; then
69 if command -v systemd-tmpfiles >/dev/null; then
70 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/lmbench.conf
71 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
72 ${sysconfdir}/init.d/populate-volatile.sh update
73 fi
74 fi
75}
76
77RDEPENDS_${PN} = "perl"
78FILES_${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 000000000..971e52ac7
--- /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 000000000..74e704b7b
--- /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/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 000000000..abdb4344b
--- /dev/null
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch
@@ -0,0 +1,23 @@
1Makefile: add more dependencies to pointer.h
2
3Upstream-Status: Inappropriate [no upstream]
4
5Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
6---
7 Makefile | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/Makefile b/Makefile
11index 915866d..edd9ea2 100644
12--- a/Makefile
13+++ b/Makefile
14@@ -122,7 +122,7 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile
15 pointer.h: Makefile
16 touch pointer.h ;
17
18-misc.o: misc.h misc.c Makefile
19+misc.o: misc.h misc.c nmglobal.h pointer.h Makefile
20 $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
21 -c misc.c
22
23
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 000000000..1b8a4dc08
--- /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 000000000..2eedd7e31
--- /dev/null
+++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
@@ -0,0 +1,25 @@
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 = "nbench-byte"
6LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
7SECTION = "console/utils"
8
9SRC_URI = "http://www.tux.org/~mayer/linux/${BP}.tar.gz \
10 file://nbench_32bits.patch \
11 file://Makefile-add-more-dependencies-to-pointer.h.patch"
12
13SRC_URI[md5sum] = "285dfab361080759d477ea1fe7d3093a"
14SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac"
15
16TARGET_CC_ARCH += "${CFLAGS} ${LDFLAGS}"
17do_compile() {
18 oe_runmake
19}
20
21do_install () {
22 install -d ${D}${bindir}
23 install -m 0644 NNET.DAT ${D}${bindir}/
24 install -m 0755 nbench ${D}${bindir}/
25}
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 000000000..ef9f7352d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Phoronix Test Suite"
2DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
3and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6SECTION = "console/tests"
7
8SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
9SRC_URI[md5sum] = "51e52d883710dc516c5494bd1c377219"
10SRC_URI[sha256sum] = "1186f460691e2fe7a07df5edb8d8ed1ac0c65327512e646da2b2e3a60dda6cd9"
11S = "${WORKDIR}/phoronix-test-suite"
12
13do_install() {
14 DESTDIR=${D} ./install-sh ${exec_prefix}
15}
16
17RDEPENDS_${PN} = "php-cli"
18FILES_${PN} += " \
19 ${datadir}/phoronix-test-suite \
20 ${datadir}/appdata/phoronix-test-suite.appdata.xml \
21 ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
22 ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
23 ${datadir}/mime/packages/openbenchmarking-mime.xml \
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 000000000..321d29983
--- /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 000000000..f820c7e33
--- /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 000000000..3267de2a0
--- /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}/${BP}.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"