aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-benchmark
diff options
context:
space:
mode:
authorJose Alarcon <jose.alarcon@ge.com>2017-08-22 08:05:38 +0300
committerMartin Jansa <Martin.Jansa@gmail.com>2017-08-28 11:06:03 +0200
commit5272165c3f1f0db5aeb483028c68bf86043653f3 (patch)
tree7e28dc6db95a1fc4f870223ebd938a46410e58ce /meta-oe/recipes-benchmark
parent28558af4d060541d3d2c4b5f81a9b7a61a259a1c (diff)
downloadmeta-openembedded-contrib-5272165c3f1f0db5aeb483028c68bf86043653f3.tar.gz
Dhrystone: add recipe 2.1
Dhrystone is a synthetic computing benchmark program developed in 1984 by Reinhold P. Weicker intended to be representative of system (integer) programming. https://en.wikipedia.org/wiki/Dhrystone Signed-off-by: Jose Alarcon <jose.alarcon@ge.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-benchmark')
-rw-r--r--meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch81
-rw-r--r--meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb26
2 files changed, 107 insertions, 0 deletions
diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch b/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
new file mode 100644
index 0000000000..6a5350c37c
--- /dev/null
+++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
@@ -0,0 +1,81 @@
+dhrystone: fix compilation problems
+
+This patch fixes two compilation errors with original
+dhrystone sources:
+* Redefinition of times() with wrong return type
+ - Fixed by commenting out the unnecessary redefinition
+* Undefined identifier HZ
+ - Originally HZ was supposed to be the clock frequency
+ value for times()
+ - For Linux, the frequency should come from sysconf
+ - This patch defines global varible HZ and initializes
+ it from sysconf
+
+Additionally, this patch adds a simple Makefile.
+
+Upstream-status: Pending
+
+Sign-off-by: Kimmo Surakka <kimmo.surakka@ge.com>
+Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
+---
+
+diff -Naur dhry.orig/dhry_1.c dhry/dhry_1.c
+--- dhry.orig/dhry_1.c 2015-07-20 14:25:58.059945353 +0300
++++ dhry/dhry_1.c 2015-07-20 12:43:25.318945353 +0300
+@@ -45,11 +45,15 @@
+
+ #ifdef TIMES
+ struct tms time_info;
+-extern int times ();
++/* extern int times (); */
+ /* see library function "times" */
+ #define Too_Small_Time 120
+ /* Measurements should last at least about 2 seconds */
+ #endif
++#ifndef HZ
++#include <unistd.h> /* sysconf */
++ long HZ;
++#endif
+ #ifdef TIME
+ extern long time();
+ /* see library function "time" */
+@@ -84,6 +88,9 @@
+
+ /* Initializations */
+
++#ifndef HZ
++ HZ = sysconf(_SC_CLK_TCK);
++#endif
+ Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
+ Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
+
+diff -Naur dhry.orig/dhry.h dhry/dhry.h
+--- dhry.orig/dhry.h 2015-07-20 14:25:58.054945353 +0300
++++ dhry/dhry.h 2015-07-20 12:42:59.903945353 +0300
+@@ -420,4 +420,6 @@
+ } variant;
+ } Rec_Type, *Rec_Pointer;
+
+-
++#ifndef HZ
++ extern long HZ;
++#endif
+diff -Naur dhry.orig/Makefile dhry/Makefile
+--- dhry.orig/Makefile 1970-01-01 02:00:00.000000000 +0200
++++ dhry/Makefile 2015-07-20 14:10:45.832945353 +0300
+@@ -0,0 +1,15 @@
++CC=gcc
++
++all: dhry
++
++dhry: dhry_1.o dhry_2.o
++ $(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBES) $(LDLIBS)
++
++dhry_1.o: dhry_1.c dhry.h
++
++dhry_2.o: dhry_2.c dhry.h
++
++clean:
++ rm -f *.o *~
++
++.PHONY: all clean
diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
new file mode 100644
index 0000000000..17e8c700ca
--- /dev/null
+++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Dhrystone CPU benchmark"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851"
+
+SRC_URI = "http://www.netlib.org/benchmark/dhry-c;downloadfilename=dhry-c.shar \
+ file://dhrystone.patch"
+SRC_URI[md5sum] = "75aa5909c174eed98c134be2f56307da"
+SRC_URI[sha256sum] = "038a7e9169787125c3451a6c941f3aca5db2d2f3863871afcdce154ef17f4e3e"
+
+# Need to override Makefile variables
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_unpack() {
+ [ -d ${S} ] || mkdir -p ${S}
+ cd ${S}
+ sh ${DL_DIR}/dhry-c.shar
+}
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/dhry ${D}${bindir}
+}
+
+# Prevent procedure merging as required by dhrystone.c:
+CFLAGS += "-fno-lto"
+
+LDFLAGS += "-fno-lto"