diff options
-rw-r--r-- | meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone-c89.patch | 242 | ||||
-rw-r--r-- | meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb | 4 |
2 files changed, 245 insertions, 1 deletions
diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone-c89.patch b/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone-c89.patch new file mode 100644 index 000000000..faf710fe1 --- /dev/null +++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone-c89.patch | |||
@@ -0,0 +1,242 @@ | |||
1 | dhrystone: make it speak C89 | ||
2 | |||
3 | Update Dhrystone sources to stop using K&R C and use something close to C89. | ||
4 | This fixes compilation errors reported by the GCC 14. | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | ||
8 | |||
9 | Index: dhrystone-2.1/dhry.h | ||
10 | =================================================================== | ||
11 | --- dhrystone-2.1.orig/dhry.h | ||
12 | +++ dhrystone-2.1/dhry.h | ||
13 | @@ -423,3 +423,13 @@ typedef struct record | ||
14 | #ifndef HZ | ||
15 | extern long HZ; | ||
16 | #endif | ||
17 | + | ||
18 | +void Proc_2 (One_Fifty *Int_Par_Ref); | ||
19 | +void Proc_3 (Rec_Pointer *Ptr_Ref_Par); | ||
20 | +void Proc_4(); | ||
21 | +void Proc_5(); | ||
22 | +void Proc_6 (Enumeration Enum_Val_Par, Enumeration *Enum_Ref_Par); | ||
23 | +void Proc_7 (One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref); | ||
24 | +void Proc_8 (Arr_1_Dim Arr_1_Par_Ref, Arr_2_Dim Arr_2_Par_Ref, int Int_1_Par_Val, int Int_2_Par_Val); | ||
25 | + | ||
26 | +Boolean Func_2 (Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref); | ||
27 | Index: dhrystone-2.1/dhry_1.c | ||
28 | =================================================================== | ||
29 | --- dhrystone-2.1.orig/dhry_1.c | ||
30 | +++ dhrystone-2.1/dhry_1.c | ||
31 | @@ -14,6 +14,8 @@ | ||
32 | * | ||
33 | **************************************************************************** | ||
34 | */ | ||
35 | +#include <stdlib.h> | ||
36 | +#include <string.h> | ||
37 | |||
38 | #include "dhry.h" | ||
39 | |||
40 | @@ -28,7 +30,6 @@ char Ch_1_Glob, | ||
41 | int Arr_1_Glob [50]; | ||
42 | int Arr_2_Glob [50] [50]; | ||
43 | |||
44 | -extern char *malloc (); | ||
45 | Enumeration Func_1 (); | ||
46 | /* forward declaration necessary since Enumeration may not simply be int */ | ||
47 | |||
48 | @@ -41,6 +42,8 @@ Enumeration Func_1 (); | ||
49 | Boolean Reg = true; | ||
50 | #endif | ||
51 | |||
52 | +void Proc_1 (REG Rec_Pointer Ptr_Val_Par); | ||
53 | + | ||
54 | /* variables for time measurement: */ | ||
55 | |||
56 | #ifdef TIMES | ||
57 | @@ -70,7 +73,7 @@ float Microseconds, | ||
58 | /* end of variables for time measurement */ | ||
59 | |||
60 | |||
61 | -main () | ||
62 | +int main (void) | ||
63 | /*****/ | ||
64 | |||
65 | /* main program, corresponds to procedures */ | ||
66 | @@ -218,7 +221,7 @@ main () | ||
67 | printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); | ||
68 | printf (" should be: Number_Of_Runs + 10\n"); | ||
69 | printf ("Ptr_Glob->\n"); | ||
70 | - printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); | ||
71 | + printf (" Ptr_Comp: %lu\n", (unsigned long) Ptr_Glob->Ptr_Comp); | ||
72 | printf (" should be: (implementation-dependent)\n"); | ||
73 | printf (" Discr: %d\n", Ptr_Glob->Discr); | ||
74 | printf (" should be: %d\n", 0); | ||
75 | @@ -229,7 +232,7 @@ main () | ||
76 | printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); | ||
77 | printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); | ||
78 | printf ("Next_Ptr_Glob->\n"); | ||
79 | - printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); | ||
80 | + printf (" Ptr_Comp: %lu\n", (unsigned long) Next_Ptr_Glob->Ptr_Comp); | ||
81 | printf (" should be: (implementation-dependent), same as above\n"); | ||
82 | printf (" Discr: %d\n", Next_Ptr_Glob->Discr); | ||
83 | printf (" should be: %d\n", 0); | ||
84 | @@ -280,14 +283,13 @@ main () | ||
85 | printf ("%6.1f \n", Dhrystones_Per_Second); | ||
86 | printf ("\n"); | ||
87 | } | ||
88 | - | ||
89 | + return 0; | ||
90 | } | ||
91 | |||
92 | |||
93 | -Proc_1 (Ptr_Val_Par) | ||
94 | +void Proc_1 (REG Rec_Pointer Ptr_Val_Par) | ||
95 | /******************/ | ||
96 | |||
97 | -REG Rec_Pointer Ptr_Val_Par; | ||
98 | /* executed once */ | ||
99 | { | ||
100 | REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; | ||
101 | @@ -318,12 +320,10 @@ REG Rec_Pointer Ptr_Val_Par; | ||
102 | } /* Proc_1 */ | ||
103 | |||
104 | |||
105 | -Proc_2 (Int_Par_Ref) | ||
106 | +void Proc_2 (One_Fifty *Int_Par_Ref) | ||
107 | /******************/ | ||
108 | /* executed once */ | ||
109 | /* *Int_Par_Ref == 1, becomes 4 */ | ||
110 | - | ||
111 | -One_Fifty *Int_Par_Ref; | ||
112 | { | ||
113 | One_Fifty Int_Loc; | ||
114 | Enumeration Enum_Loc; | ||
115 | @@ -341,13 +341,10 @@ One_Fifty *Int_Par_Ref; | ||
116 | } /* Proc_2 */ | ||
117 | |||
118 | |||
119 | -Proc_3 (Ptr_Ref_Par) | ||
120 | +void Proc_3 (Rec_Pointer *Ptr_Ref_Par) | ||
121 | /******************/ | ||
122 | /* executed once */ | ||
123 | /* Ptr_Ref_Par becomes Ptr_Glob */ | ||
124 | - | ||
125 | -Rec_Pointer *Ptr_Ref_Par; | ||
126 | - | ||
127 | { | ||
128 | if (Ptr_Glob != Null) | ||
129 | /* then, executed */ | ||
130 | @@ -356,7 +353,7 @@ Rec_Pointer *Ptr_Ref_Par; | ||
131 | } /* Proc_3 */ | ||
132 | |||
133 | |||
134 | -Proc_4 () /* without parameters */ | ||
135 | +void Proc_4 () /* without parameters */ | ||
136 | /*******/ | ||
137 | /* executed once */ | ||
138 | { | ||
139 | @@ -368,7 +365,7 @@ Proc_4 () /* without parameters */ | ||
140 | } /* Proc_4 */ | ||
141 | |||
142 | |||
143 | -Proc_5 () /* without parameters */ | ||
144 | +void Proc_5 () /* without parameters */ | ||
145 | /*******/ | ||
146 | /* executed once */ | ||
147 | { | ||
148 | Index: dhrystone-2.1/dhry_2.c | ||
149 | =================================================================== | ||
150 | --- dhrystone-2.1.orig/dhry_2.c | ||
151 | +++ dhrystone-2.1/dhry_2.c | ||
152 | @@ -14,6 +14,7 @@ | ||
153 | * | ||
154 | **************************************************************************** | ||
155 | */ | ||
156 | +#include <string.h> | ||
157 | |||
158 | #include "dhry.h" | ||
159 | |||
160 | @@ -26,14 +27,14 @@ | ||
161 | extern int Int_Glob; | ||
162 | extern char Ch_1_Glob; | ||
163 | |||
164 | +Boolean Func_3 (Enumeration Enum_Par_Val); | ||
165 | |||
166 | -Proc_6 (Enum_Val_Par, Enum_Ref_Par) | ||
167 | + | ||
168 | +void Proc_6 (Enumeration Enum_Val_Par, Enumeration *Enum_Ref_Par) | ||
169 | /*********************************/ | ||
170 | /* executed once */ | ||
171 | /* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */ | ||
172 | |||
173 | -Enumeration Enum_Val_Par; | ||
174 | -Enumeration *Enum_Ref_Par; | ||
175 | { | ||
176 | *Enum_Ref_Par = Enum_Val_Par; | ||
177 | if (! Func_3 (Enum_Val_Par)) | ||
178 | @@ -61,7 +62,7 @@ Enumeration *Enum_Ref_Par; | ||
179 | } /* Proc_6 */ | ||
180 | |||
181 | |||
182 | -Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref) | ||
183 | +void Proc_7 (One_Fifty Int_1_Par_Val, One_Fifty Int_2_Par_Val, One_Fifty *Int_Par_Ref) | ||
184 | /**********************************************/ | ||
185 | /* executed three times */ | ||
186 | /* first call: Int_1_Par_Val == 2, Int_2_Par_Val == 3, */ | ||
187 | @@ -70,9 +71,6 @@ Proc_7 (Int_1_Par_Val, Int_2_Par_Val, In | ||
188 | /* Int_Par_Ref becomes 17 */ | ||
189 | /* third call: Int_1_Par_Val == 6, Int_2_Par_Val == 10, */ | ||
190 | /* Int_Par_Ref becomes 18 */ | ||
191 | -One_Fifty Int_1_Par_Val; | ||
192 | -One_Fifty Int_2_Par_Val; | ||
193 | -One_Fifty *Int_Par_Ref; | ||
194 | { | ||
195 | One_Fifty Int_Loc; | ||
196 | |||
197 | @@ -81,15 +79,11 @@ One_Fifty *Int_Par_Ref; | ||
198 | } /* Proc_7 */ | ||
199 | |||
200 | |||
201 | -Proc_8 (Arr_1_Par_Ref, Arr_2_Par_Ref, Int_1_Par_Val, Int_2_Par_Val) | ||
202 | +void Proc_8 (Arr_1_Dim Arr_1_Par_Ref, Arr_2_Dim Arr_2_Par_Ref, int Int_1_Par_Val, int Int_2_Par_Val) | ||
203 | /*********************************************************************/ | ||
204 | /* executed once */ | ||
205 | /* Int_Par_Val_1 == 3 */ | ||
206 | /* Int_Par_Val_2 == 7 */ | ||
207 | -Arr_1_Dim Arr_1_Par_Ref; | ||
208 | -Arr_2_Dim Arr_2_Par_Ref; | ||
209 | -int Int_1_Par_Val; | ||
210 | -int Int_2_Par_Val; | ||
211 | { | ||
212 | REG One_Fifty Int_Index; | ||
213 | REG One_Fifty Int_Loc; | ||
214 | @@ -132,14 +126,11 @@ Capital_Letter Ch_2_Par_Val; | ||
215 | } /* Func_1 */ | ||
216 | |||
217 | |||
218 | -Boolean Func_2 (Str_1_Par_Ref, Str_2_Par_Ref) | ||
219 | +Boolean Func_2 (Str_30 Str_1_Par_Ref, Str_30 Str_2_Par_Ref) | ||
220 | /*************************************************/ | ||
221 | /* executed once */ | ||
222 | /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ | ||
223 | /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ | ||
224 | - | ||
225 | -Str_30 Str_1_Par_Ref; | ||
226 | -Str_30 Str_2_Par_Ref; | ||
227 | { | ||
228 | REG One_Thirty Int_Loc; | ||
229 | Capital_Letter Ch_Loc; | ||
230 | @@ -174,11 +165,10 @@ Str_30 Str_2_Par_Ref; | ||
231 | } /* Func_2 */ | ||
232 | |||
233 | |||
234 | -Boolean Func_3 (Enum_Par_Val) | ||
235 | +Boolean Func_3 (Enumeration Enum_Par_Val) | ||
236 | /***************************/ | ||
237 | /* executed once */ | ||
238 | /* Enum_Par_Val == Ident_3 */ | ||
239 | -Enumeration Enum_Par_Val; | ||
240 | { | ||
241 | Enumeration Enum_Loc; | ||
242 | |||
diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb index d809a564e..5d27acbdc 100644 --- a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb +++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb | |||
@@ -3,7 +3,9 @@ LICENSE = "PD" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851" |
4 | 4 | ||
5 | SRC_URI = "http://www.netlib.org/benchmark/dhry-c;downloadfilename=dhry-c.shar \ | 5 | SRC_URI = "http://www.netlib.org/benchmark/dhry-c;downloadfilename=dhry-c.shar \ |
6 | file://dhrystone.patch" | 6 | file://dhrystone.patch \ |
7 | file://dhrystone-c89.patch \ | ||
8 | " | ||
7 | SRC_URI[md5sum] = "75aa5909c174eed98c134be2f56307da" | 9 | SRC_URI[md5sum] = "75aa5909c174eed98c134be2f56307da" |
8 | SRC_URI[sha256sum] = "038a7e9169787125c3451a6c941f3aca5db2d2f3863871afcdce154ef17f4e3e" | 10 | SRC_URI[sha256sum] = "038a7e9169787125c3451a6c941f3aca5db2d2f3863871afcdce154ef17f4e3e" |
9 | 11 | ||