dhrystone: new benchmark package
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
beb56ca618
commit
9ffc2e809c
2
CHANGES
2
CHANGES
@ -5,7 +5,7 @@
|
||||
|
||||
Updated/fixed packages: cloop, m4, openssh, qt, xz
|
||||
|
||||
New packages: lsuio, rsh-redone, whetstone
|
||||
New packages: dhrystone, lsuio, rsh-redone, whetstone
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
|
@ -17,6 +17,7 @@ source "package/xz/Config.in"
|
||||
endmenu
|
||||
|
||||
menu "Debugging, profiling and benchmark"
|
||||
source "package/dhrystone/Config.in"
|
||||
source "package/dmalloc/Config.in"
|
||||
source "package/kexec/Config.in"
|
||||
source "package/lmbench/Config.in"
|
||||
|
6
package/dhrystone/Config.in
Normal file
6
package/dhrystone/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_DHRYSTONE
|
||||
bool "dhrystone"
|
||||
help
|
||||
easy-to-use integer benchmark
|
||||
|
||||
http://www.netlib.org/benchmark/dhry-c
|
12
package/dhrystone/Makefile
Normal file
12
package/dhrystone/Makefile
Normal file
@ -0,0 +1,12 @@
|
||||
CPPFLAGS += -DNO_PROTOTYPES=1
|
||||
LDLIBS += -lm
|
||||
|
||||
all: dhrystone
|
||||
|
||||
dhrystone: dhry_1.o dhry_2.o
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
||||
|
||||
clean:
|
||||
rm -f *.o dhrystone
|
||||
|
||||
.PHONY: all clean
|
17
package/dhrystone/dhrystone-2-HZ.patch
Normal file
17
package/dhrystone/dhrystone-2-HZ.patch
Normal file
@ -0,0 +1,17 @@
|
||||
Get HZ value from system rather than requiring via CPPFLAGS
|
||||
|
||||
Patch by Robin Getz <rgetz@blackfin.uclinux.org>
|
||||
|
||||
--- a/dhry.h
|
||||
+++ b/dhry.h
|
||||
@@ -359,6 +359,10 @@
|
||||
/* for "times" */
|
||||
#endif
|
||||
|
||||
+#ifndef HZ
|
||||
+#include <sys/param.h>
|
||||
+#endif
|
||||
+
|
||||
#define Mic_secs_Per_Second 1000000.0
|
||||
/* Berkeley UNIX C returns process times in seconds/HZ */
|
||||
|
53
package/dhrystone/dhrystone-2-cmdline-nruns.patch
Normal file
53
package/dhrystone/dhrystone-2-cmdline-nruns.patch
Normal file
@ -0,0 +1,53 @@
|
||||
let people specify the number of runs on the command line
|
||||
|
||||
Patch by Vivi Li <vivi.li@analog.com>
|
||||
|
||||
--- a/dhry_1.c
|
||||
+++ b/dhry_1.c
|
||||
@@ -66,7 +70,7 @@
|
||||
/* end of variables for time measurement */
|
||||
|
||||
|
||||
-main ()
|
||||
+main(int argc, char *argv[])
|
||||
/*****/
|
||||
|
||||
/* main program, corresponds to procedures */
|
||||
@@ -101,6 +105,13 @@
|
||||
/* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */
|
||||
/* overflow may occur for this array element. */
|
||||
|
||||
+ Number_Of_Runs = 0;
|
||||
+ if ( argc == 2 ) {
|
||||
+ if (atoi(argv[1]) > 0) {
|
||||
+ Number_Of_Runs = atoi(argv[1]);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
printf ("\n");
|
||||
printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n");
|
||||
printf ("\n");
|
||||
@@ -114,13 +125,17 @@
|
||||
printf ("Program compiled without 'register' attribute\n");
|
||||
printf ("\n");
|
||||
}
|
||||
- printf ("Please give the number of runs through the benchmark: ");
|
||||
- {
|
||||
- int n;
|
||||
- scanf ("%d", &n);
|
||||
- Number_Of_Runs = n;
|
||||
+
|
||||
+ if (!Number_Of_Runs) {
|
||||
+ printf ("Please give the number of runs through the benchmark: ");
|
||||
+ fflush (stdout);
|
||||
+ {
|
||||
+ int n;
|
||||
+ scanf ("%d", &n);
|
||||
+ Number_Of_Runs = n;
|
||||
+ }
|
||||
+ printf ("\n");
|
||||
}
|
||||
- printf ("\n");
|
||||
|
||||
printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs);
|
||||
|
14
package/dhrystone/dhrystone-2-exit.patch
Normal file
14
package/dhrystone/dhrystone-2-exit.patch
Normal file
@ -0,0 +1,14 @@
|
||||
trust the exit status of the program
|
||||
|
||||
Patch by Robin Getz <rgetz@blackfin.uclinux.org>
|
||||
|
||||
--- a/dhry_1.c
|
||||
+++ b/dhry_1.c
|
||||
@@ -274,6 +289,7 @@
|
||||
printf ("\n");
|
||||
}
|
||||
|
||||
+ exit(0);
|
||||
}
|
||||
|
||||
|
15
package/dhrystone/dhrystone-2-headers.patch
Normal file
15
package/dhrystone/dhrystone-2-headers.patch
Normal file
@ -0,0 +1,15 @@
|
||||
get prototypes for malloc/exit/strcpy
|
||||
|
||||
Patch by Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
--- a/dhry.h
|
||||
+++ b/dhry.h
|
||||
@@ -388,6 +388,8 @@
|
||||
/* General definitions: */
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
/* for strcpy, strcmp */
|
||||
|
||||
#define Null 0
|
35
package/dhrystone/dhrystone-2-prototypes.patch
Normal file
35
package/dhrystone/dhrystone-2-prototypes.patch
Normal file
@ -0,0 +1,35 @@
|
||||
Avoid collision with C library using NO_PROTOTYPES found in code already
|
||||
|
||||
Patch by Robin Getz <rgetz@blackfin.uclinux.org>
|
||||
|
||||
--- a/dhry_1.c
|
||||
+++ b/dhry_1.c
|
||||
@@ -28,7 +28,9 @@
|
||||
int Arr_1_Glob [50];
|
||||
int Arr_2_Glob [50] [50];
|
||||
|
||||
+#ifndef NO_PROTOTYPES
|
||||
extern char *malloc ();
|
||||
+#endif
|
||||
Enumeration Func_1 ();
|
||||
/* forward declaration necessary since Enumeration may not simply be int */
|
||||
|
||||
@@ -45,14 +45,18 @@
|
||||
|
||||
#ifdef TIMES
|
||||
struct tms time_info;
|
||||
+#ifndef NO_PROTOTYPES
|
||||
extern int times ();
|
||||
/* see library function "times" */
|
||||
+#endif
|
||||
#define Too_Small_Time 120
|
||||
/* Measurements should last at least about 2 seconds */
|
||||
#endif
|
||||
#ifdef TIME
|
||||
+#ifndef NO_PROTOTYPES
|
||||
extern long time();
|
||||
/* see library function "time" */
|
||||
+#endif
|
||||
#define Too_Small_Time 2
|
||||
/* Measurements should last at least 2 seconds */
|
||||
#endif
|
34
package/dhrystone/dhrystone.mk
Normal file
34
package/dhrystone/dhrystone.mk
Normal file
@ -0,0 +1,34 @@
|
||||
#############################################################
|
||||
#
|
||||
# dhrystone
|
||||
#
|
||||
#############################################################
|
||||
|
||||
DHRYSTONE_VERSION = 2
|
||||
DHRYSTONE_SOURCE = dhry-c
|
||||
DHRYSTONE_SITE = http://www.netlib.org/benchmark/
|
||||
|
||||
define DHRYSTONE_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
|
||||
endef
|
||||
|
||||
define DHRYSTONE_CLEAN_CMDS
|
||||
$(MAKE) -C $(@D) clean
|
||||
endef
|
||||
|
||||
define DHRYSTONE_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D $(@D)/dhrystone $(TARGET_DIR)/usr/bin/dhrystone
|
||||
endef
|
||||
|
||||
define DHRYSTONE_UNINSTALL_TARGET_CMDS
|
||||
rm -f $(TARGET_DIR)/usr/bin/dhrystone
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS,package,dhrystone))
|
||||
|
||||
$(BUILD_DIR)/dhrystone-$(DHRYSTONE_VERSION)/.stamp_extracted:
|
||||
@$(call MESSAGE,"Extracting")
|
||||
$(Q)mkdir -p $(@D)
|
||||
$(Q)cd $(@D) && $(SHELL) $(DL_DIR)/$($(PKG)_SOURCE)
|
||||
$(Q)cp $($(PKG)_DIR_PREFIX)/dhrystone/Makefile $(@D)/
|
||||
$(Q)touch $@
|
Loading…
Reference in New Issue
Block a user