source: patches/glibc-2.4-mips_fixes-2.patch@ 70623a4

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 70623a4 was 917be50, checked in by Jim Gifford <clfs@…>, 18 years ago

Updated MIPS Glibc patch

  • Property mode set to 100644
File size: 77.6 KB
RevLine 
[917be50]1Submitted By: Jim Gifford (patches at jg555 dot com)
2Date: 2006-07-2
3Initial Package Version: 2.4
4Origin: Daniel Jacobwitz
5Upstream Status: Applied
6Description: Fixes for MIPS architecture
7 Fixes changes due to Kernel ABI change in 2.6.12
8 Fixes Testsuites Errors
9 Fixes Missing Symbols in Libm
10
11diff -Naur glibc-2.4.orig/ports/sysdeps/mips/fpu/feholdexcpt.c glibc-2.4/ports/sysdeps/mips/fpu/feholdexcpt.c
12--- glibc-2.4.orig/ports/sysdeps/mips/fpu/feholdexcpt.c 2001-07-05 21:56:01.000000000 -0700
13+++ glibc-2.4/ports/sysdeps/mips/fpu/feholdexcpt.c 2006-07-22 19:31:13.000000000 -0700
14@@ -36,3 +36,4 @@
15
16 return 0;
17 }
18+libm_hidden_def (feholdexcept)
19diff -Naur glibc-2.4.orig/ports/sysdeps/mips/fpu/fesetround.c glibc-2.4/ports/sysdeps/mips/fpu/fesetround.c
20--- glibc-2.4.orig/ports/sysdeps/mips/fpu/fesetround.c 2001-07-05 21:56:01.000000000 -0700
21+++ glibc-2.4/ports/sysdeps/mips/fpu/fesetround.c 2006-07-22 19:31:13.000000000 -0700
22@@ -41,3 +41,4 @@
23
24 return 0;
25 }
26+libm_hidden_def (fesetround)
27diff -Naur glibc-2.4.orig/ports/sysdeps/mips/ldsodefs.h glibc-2.4/ports/sysdeps/mips/ldsodefs.h
28--- glibc-2.4.orig/ports/sysdeps/mips/ldsodefs.h 1969-12-31 16:00:00.000000000 -0800
29+++ glibc-2.4/ports/sysdeps/mips/ldsodefs.h 2006-07-22 19:30:57.000000000 -0700
30@@ -0,0 +1,66 @@
31+/* Run-time dynamic linker data structures for loaded ELF shared objects.
32+ Copyright (C) 2006 Free Software Foundation, Inc.
33+ This file is part of the GNU C Library.
34+
35+ The GNU C Library is free software; you can redistribute it and/or
36+ modify it under the terms of the GNU Lesser General Public
37+ License as published by the Free Software Foundation; either
38+ version 2.1 of the License, or (at your option) any later version.
39+
40+ The GNU C Library is distributed in the hope that it will be useful,
41+ but WITHOUT ANY WARRANTY; without even the implied warranty of
42+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
43+ Lesser General Public License for more details.
44+
45+ You should have received a copy of the GNU Lesser General Public
46+ License along with the GNU C Library; if not, write to the Free
47+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
48+ 02111-1307 USA. */
49+
50+#ifndef __LDSODEFS_H \
51+#define _MIPS_LDSODEFS_H 1
52+
53+#include <elf.h>
54+
55+struct La_mips_32_regs;
56+struct La_mips_32_retval;
57+struct La_mips_64_regs;
58+struct La_mips_64_retval;
59+
60+#define ARCH_PLTENTER_MEMBERS \
61+ Elf32_Addr (*mips_o32_gnu_pltenter) (Elf32_Sym *, unsigned int, \
62+ uintptr_t *, uintptr_t *, \
63+ const struct La_mips_32_regs *, \
64+ unsigned int *, const char *name, \
65+ long int *framesizep); \
66+ Elf32_Addr (*mips_n32_gnu_pltenter) (Elf32_Sym *, unsigned int, \
67+ uintptr_t *, uintptr_t *, \
68+ const struct La_mips_64_regs *, \
69+ unsigned int *, const char *name, \
70+ long int *framesizep); \
71+ Elf64_Addr (*mips_n64_gnu_pltenter) (Elf64_Sym *, unsigned int, \
72+ uintptr_t *, uintptr_t *, \
73+ const struct La_mips_64_regs *, \
74+ unsigned int *, const char *name, \
75+ long int *framesizep);
76+
77+#define ARCH_PLTEXIT_MEMBERS \
78+ unsigned int (*mips_o32_gnu_pltexit) (Elf32_Sym *, unsigned int, \
79+ uintptr_t *, uintptr_t *, \
80+ const struct La_mips_32_regs *, \
81+ struct La_mips_32_retval *, \
82+ const char *); \
83+ unsigned int (*mips_n32_gnu_pltexit) (Elf32_Sym *, unsigned int, \
84+ uintptr_t *, uintptr_t *, \
85+ const struct La_mips_64_regs *, \
86+ struct La_mips_64_retval *, \
87+ const char *); \
88+ unsigned int (*mips_n64_gnu_pltexit) (Elf64_Sym *, unsigned int, \
89+ uintptr_t *, uintptr_t *, \
90+ const struct La_mips_64_regs *, \
91+ struct La_mips_64_retval *, \
92+ const char *);
93+
94+#include_next <ldsodefs.h>
95+
96+#endif
97diff -Naur glibc-2.4.orig/ports/sysdeps/mips/mips64/n32/libm-test-ulps glibc-2.4/ports/sysdeps/mips/mips64/n32/libm-test-ulps
98--- glibc-2.4.orig/ports/sysdeps/mips/mips64/n32/libm-test-ulps 1969-12-31 16:00:00.000000000 -0800
99+++ glibc-2.4/ports/sysdeps/mips/mips64/n32/libm-test-ulps 2006-07-22 19:46:47.000000000 -0700
100@@ -0,0 +1,1245 @@
101+# Begin of automatic generation
102+
103+# atan2
104+Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994379639112":
105+ildouble: 1
106+ldouble: 1
107+Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
108+float: 1
109+ifloat: 1
110+ildouble: 1
111+ldouble: 1
112+Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
113+float: 1
114+ifloat: 1
115+ildouble: 1
116+ldouble: 1
117+Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
118+float: 1
119+ifloat: 1
120+ildouble: 1
121+ldouble: 1
122+
123+# atanh
124+Test "atanh (0.75) == 0.972955074527656652552676371721589865":
125+float: 1
126+ifloat: 1
127+
128+# cacos
129+Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
130+ildouble: 1
131+ldouble: 1
132+
133+# cacosh
134+Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
135+float: 1
136+ifloat: 1
137+ildouble: 1
138+ldouble: 1
139+
140+# casin
141+Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
142+double: 1
143+float: 1
144+idouble: 1
145+ifloat: 1
146+Test "Imaginary part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
147+ildouble: 1
148+ldouble: 1
149+
150+# casinh
151+Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
152+double: 5
153+float: 1
154+idouble: 5
155+ifloat: 1
156+ildouble: 4
157+ldouble: 4
158+Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
159+double: 3
160+float: 6
161+idouble: 3
162+ifloat: 6
163+ildouble: 2
164+ldouble: 2
165+Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
166+float: 1
167+ifloat: 1
168+ildouble: 1
169+ldouble: 1
170+Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
171+double: 1
172+float: 1
173+idouble: 1
174+ifloat: 1
175+ildouble: 1
176+ldouble: 1
177+
178+# catan
179+Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
180+double: 1
181+float: 1
182+idouble: 1
183+ifloat: 1
184+Test "Imaginary part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
185+ildouble: 1
186+ldouble: 1
187+
188+# catanh
189+Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
190+double: 4
191+idouble: 4
192+Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
193+double: 1
194+idouble: 1
195+ildouble: 1
196+ldouble: 1
197+Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
198+ildouble: 1
199+ldouble: 1
200+
201+# cbrt
202+Test "cbrt (-0.001) == -0.1":
203+ildouble: 1
204+ldouble: 1
205+Test "cbrt (-27.0) == -3.0":
206+double: 1
207+idouble: 1
208+Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
209+double: 1
210+idouble: 1
211+Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
212+double: 1
213+idouble: 1
214+
215+# ccos
216+Test "Real part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
217+ildouble: 1
218+ldouble: 1
219+Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
220+float: 1
221+ifloat: 1
222+ildouble: 1
223+ldouble: 1
224+Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
225+double: 1
226+float: 1
227+idouble: 1
228+ifloat: 1
229+Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
230+float: 1
231+ifloat: 1
232+
233+# ccosh
234+Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
235+float: 1
236+ifloat: 1
237+ildouble: 1
238+ldouble: 1
239+Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
240+float: 1
241+ifloat: 1
242+ildouble: 1
243+ldouble: 1
244+Test "Real part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
245+double: 1
246+float: 1
247+idouble: 1
248+ifloat: 1
249+Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
250+float: 1
251+ifloat: 1
252+
253+# cexp
254+Test "Real part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
255+ildouble: 1
256+ldouble: 1
257+Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
258+float: 1
259+ifloat: 1
260+ildouble: 1
261+ldouble: 1
262+Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
263+float: 1
264+ifloat: 1
265+Test "Imaginary part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
266+ildouble: 1
267+ldouble: 1
268+
269+# clog
270+Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
271+float: 1
272+ifloat: 1
273+ildouble: 1
274+ldouble: 1
275+
276+# clog10
277+Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
278+double: 1
279+float: 1
280+idouble: 1
281+ifloat: 1
282+Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
283+double: 1
284+float: 1
285+idouble: 1
286+ifloat: 1
287+Test "Real part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
288+ildouble: 1
289+ldouble: 1
290+Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
291+double: 1
292+idouble: 1
293+ildouble: 1
294+ldouble: 1
295+Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
296+double: 1
297+float: 1
298+idouble: 1
299+ifloat: 1
300+Test "Imaginary part of: clog10 (-3 - inf i) == inf - pi/2*log10(e) i":
301+double: 1
302+float: 1
303+idouble: 1
304+ifloat: 1
305+Test "Imaginary part of: clog10 (-inf + 0 i) == inf + pi*log10(e) i":
306+double: 1
307+float: 1
308+idouble: 1
309+ifloat: 1
310+Test "Imaginary part of: clog10 (-inf + 1 i) == inf + pi*log10(e) i":
311+double: 1
312+float: 1
313+idouble: 1
314+ifloat: 1
315+Test "Imaginary part of: clog10 (-inf + inf i) == inf + 3/4 pi*log10(e) i":
316+double: 1
317+idouble: 1
318+Test "Imaginary part of: clog10 (-inf - 0 i) == inf - pi*log10(e) i":
319+double: 1
320+float: 1
321+idouble: 1
322+ifloat: 1
323+Test "Imaginary part of: clog10 (-inf - 1 i) == inf - pi*log10(e) i":
324+double: 1
325+float: 1
326+idouble: 1
327+ifloat: 1
328+Test "Imaginary part of: clog10 (0 + inf i) == inf + pi/2*log10(e) i":
329+double: 1
330+float: 1
331+idouble: 1
332+ifloat: 1
333+Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
334+double: 1
335+float: 1
336+idouble: 1
337+ifloat: 1
338+Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
339+float: 1
340+ifloat: 1
341+Test "Imaginary part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
342+ildouble: 1
343+ldouble: 1
344+Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
345+double: 1
346+float: 1
347+idouble: 1
348+ifloat: 1
349+Test "Imaginary part of: clog10 (3 - inf i) == inf - pi/2*log10(e) i":
350+double: 1
351+float: 1
352+idouble: 1
353+ifloat: 1
354+Test "Imaginary part of: clog10 (inf + inf i) == inf + pi/4*log10(e) i":
355+double: 1
356+float: 1
357+idouble: 1
358+ifloat: 1
359+Test "Imaginary part of: clog10 (inf - inf i) == inf - pi/4*log10(e) i":
360+double: 1
361+float: 1
362+idouble: 1
363+ifloat: 1
364+
365+# cos
366+Test "cos (M_PI_6l * 2.0) == 0.5":
367+double: 1
368+idouble: 1
369+ildouble: 1
370+ldouble: 1
371+Test "cos (M_PI_6l * 4.0) == -0.5":
372+double: 2
373+float: 1
374+idouble: 2
375+ifloat: 1
376+ildouble: 1
377+ldouble: 1
378+
379+# cpow
380+Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
381+float: 1
382+ifloat: 1
383+Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
384+float: 1
385+ifloat: 1
386+Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
387+double: 1
388+float: 4
389+idouble: 1
390+ifloat: 4
391+ildouble: 4
392+ldouble: 4
393+Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
394+ildouble: 2
395+ldouble: 2
396+Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
397+ildouble: 1
398+ldouble: 1
399+Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
400+double: 2
401+float: 3
402+idouble: 2
403+ifloat: 3
404+ildouble: 10
405+ldouble: 10
406+Test "Real part of: cpow (2 + 0 i, 10 + 0 i) == 1024.0 + 0.0 i":
407+ildouble: 2
408+ldouble: 2
409+Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
410+double: 1
411+float: 4
412+idouble: 1
413+ifloat: 4
414+ildouble: 3
415+ldouble: 3
416+Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
417+float: 2
418+ifloat: 2
419+Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
420+double: 2
421+float: 2
422+idouble: 2
423+ifloat: 2
424+ildouble: 1
425+ldouble: 1
426+
427+# csin
428+Test "Imaginary part of: csin (-2 - 3 i) == -9.15449914691142957346729954460983256 + 4.16890695996656435075481305885375484 i":
429+ildouble: 1
430+ldouble: 1
431+Test "Real part of: csin (0.75 + 1.25 i) == 1.28722291002649188575873510790565441 + 1.17210635989270256101081285116138863 i":
432+ildouble: 1
433+ldouble: 1
434+
435+# csinh
436+Test "Real part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
437+ildouble: 1
438+ldouble: 1
439+Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
440+double: 1
441+idouble: 1
442+Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
443+float: 1
444+ifloat: 1
445+Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
446+float: 1
447+ifloat: 1
448+
449+# csqrt
450+Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
451+float: 1
452+ifloat: 1
453+ildouble: 1
454+ldouble: 1
455+Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
456+float: 1
457+ifloat: 1
458+ildouble: 1
459+ldouble: 1
460+Test "Imaginary part of: csqrt (0.75 + 1.25 i) == 1.05065169626078392338656675760808326 + 0.594868882070379067881984030639932657 i":
461+ildouble: 1
462+ldouble: 1
463+
464+# ctan
465+Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
466+ildouble: 1
467+ldouble: 1
468+Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
469+ildouble: 1
470+ldouble: 1
471+Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
472+double: 1
473+idouble: 1
474+ildouble: 2
475+ldouble: 2
476+
477+# ctanh
478+Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
479+double: 1
480+float: 2
481+idouble: 1
482+ifloat: 2
483+ildouble: 1
484+ldouble: 1
485+Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
486+ildouble: 1
487+ldouble: 1
488+Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
489+float: 1
490+ifloat: 1
491+Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
492+double: 1
493+idouble: 1
494+
495+# erf
496+Test "erf (1.25) == 0.922900128256458230136523481197281140":
497+double: 1
498+idouble: 1
499+
500+# erfc
501+Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
502+double: 1
503+idouble: 1
504+Test "erfc (27.0) == 0.523704892378925568501606768284954709e-318":
505+ildouble: 1
506+ldouble: 1
507+Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
508+double: 1
509+idouble: 1
510+
511+# exp10
512+Test "exp10 (-1) == 0.1":
513+double: 2
514+float: 1
515+idouble: 2
516+ifloat: 1
517+Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
518+double: 1
519+float: 1
520+idouble: 1
521+ifloat: 1
522+Test "exp10 (3) == 1000":
523+double: 6
524+float: 2
525+idouble: 6
526+ifloat: 2
527+ildouble: 1
528+ldouble: 1
529+
530+# exp2
531+Test "exp2 (10) == 1024":
532+ildouble: 2
533+ldouble: 2
534+
535+# expm1
536+Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
537+double: 1
538+idouble: 1
539+Test "expm1 (1) == M_El - 1.0":
540+double: 1
541+float: 1
542+idouble: 1
543+ifloat: 1
544+ildouble: 1
545+ldouble: 1
546+
547+# gamma
548+Test "gamma (-0.5) == log(2*sqrt(pi))":
549+ildouble: 1
550+ldouble: 1
551+
552+# hypot
553+Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
554+float: 1
555+ifloat: 1
556+Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
557+float: 1
558+ifloat: 1
559+Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
560+float: 1
561+ifloat: 1
562+Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
563+float: 1
564+ifloat: 1
565+Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
566+float: 1
567+ifloat: 1
568+Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
569+float: 1
570+ifloat: 1
571+Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
572+float: 1
573+ifloat: 1
574+Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
575+float: 1
576+ifloat: 1
577+
578+# j0
579+Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
580+double: 1
581+float: 1
582+idouble: 1
583+ifloat: 1
584+Test "j0 (0.75) == 0.864242275166648623555731103820923211":
585+float: 1
586+ifloat: 1
587+Test "j0 (10.0) == -0.245935764451348335197760862485328754":
588+double: 2
589+float: 1
590+idouble: 2
591+ifloat: 1
592+ildouble: 2
593+ldouble: 2
594+Test "j0 (2.0) == 0.223890779141235668051827454649948626":
595+float: 2
596+ifloat: 2
597+ildouble: 2
598+ldouble: 2
599+Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
600+double: 1
601+float: 1
602+idouble: 1
603+ifloat: 1
604+Test "j0 (8.0) == 0.171650807137553906090869407851972001":
605+float: 1
606+ifloat: 1
607+ildouble: 1
608+ldouble: 1
609+
610+# j1
611+Test "j1 (-1.0) == -0.440050585744933515959682203718914913":
612+ildouble: 1
613+ldouble: 1
614+Test "j1 (0.75) == 0.349243602174862192523281016426251335":
615+ildouble: 1
616+ldouble: 1
617+Test "j1 (1.0) == 0.440050585744933515959682203718914913":
618+ildouble: 1
619+ldouble: 1
620+Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
621+float: 2
622+ifloat: 2
623+ildouble: 2
624+ldouble: 2
625+Test "j1 (2.0) == 0.576724807756873387202448242269137087":
626+double: 1
627+idouble: 1
628+Test "j1 (8.0) == 0.234636346853914624381276651590454612":
629+double: 1
630+idouble: 1
631+ildouble: 4
632+ldouble: 4
633+
634+# jn
635+Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
636+double: 1
637+float: 1
638+idouble: 1
639+ifloat: 1
640+Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
641+float: 1
642+ifloat: 1
643+Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
644+double: 2
645+float: 1
646+idouble: 2
647+ifloat: 1
648+ildouble: 2
649+ldouble: 2
650+Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
651+float: 2
652+ifloat: 2
653+ildouble: 2
654+ldouble: 2
655+Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
656+double: 1
657+float: 1
658+idouble: 1
659+ifloat: 1
660+Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
661+float: 1
662+ifloat: 1
663+ildouble: 1
664+ldouble: 1
665+Test "jn (1, -1.0) == -0.440050585744933515959682203718914913":
666+ildouble: 1
667+ldouble: 1
668+Test "jn (1, 0.75) == 0.349243602174862192523281016426251335":
669+ildouble: 1
670+ldouble: 1
671+Test "jn (1, 1.0) == 0.440050585744933515959682203718914913":
672+ildouble: 1
673+ldouble: 1
674+Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
675+float: 2
676+ifloat: 2
677+ildouble: 2
678+ldouble: 2
679+Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
680+double: 1
681+idouble: 1
682+Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
683+double: 1
684+idouble: 1
685+ildouble: 4
686+ldouble: 4
687+Test "jn (10, -1.0) == 0.263061512368745320699785368779050294e-9":
688+ildouble: 1
689+ldouble: 1
690+Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
691+double: 1
692+float: 1
693+idouble: 1
694+ifloat: 1
695+ildouble: 1
696+ldouble: 1
697+Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
698+double: 1
699+float: 1
700+idouble: 1
701+ifloat: 1
702+ildouble: 1
703+ldouble: 1
704+Test "jn (10, 1.0) == 0.263061512368745320699785368779050294e-9":
705+ildouble: 1
706+ldouble: 1
707+Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
708+double: 4
709+float: 3
710+idouble: 4
711+ifloat: 3
712+ildouble: 2
713+ldouble: 2
714+Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
715+float: 4
716+ifloat: 4
717+Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
718+double: 1
719+float: 1
720+idouble: 1
721+ifloat: 1
722+Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
723+double: 1
724+float: 1
725+idouble: 1
726+ifloat: 1
727+Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
728+double: 3
729+float: 1
730+idouble: 3
731+ifloat: 1
732+ildouble: 2
733+ldouble: 2
734+Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
735+double: 1
736+float: 2
737+idouble: 1
738+ifloat: 2
739+
740+# lgamma
741+Test "lgamma (-0.5) == log(2*sqrt(pi))":
742+ildouble: 1
743+ldouble: 1
744+Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
745+double: 1
746+float: 1
747+idouble: 1
748+ifloat: 1
749+ildouble: 1
750+ldouble: 1
751+Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
752+double: 1
753+float: 2
754+idouble: 1
755+ifloat: 2
756+ildouble: 1
757+ldouble: 1
758+
759+# log10
760+Test "log10 (0.75) == -0.124938736608299953132449886193870744":
761+double: 1
762+float: 2
763+idouble: 1
764+ifloat: 2
765+Test "log10 (e) == log10(e)":
766+float: 1
767+ifloat: 1
768+ildouble: 1
769+ldouble: 1
770+
771+# log1p
772+Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
773+float: 1
774+ifloat: 1
775+
776+# log2
777+Test "log2 (0.75) == -.415037499278843818546261056052183492":
778+ildouble: 1
779+ldouble: 1
780+
781+# sincos
782+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
783+double: 1
784+idouble: 1
785+ildouble: 1
786+ldouble: 1
787+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
788+double: 1
789+float: 1
790+idouble: 1
791+ifloat: 1
792+ildouble: 1
793+ldouble: 1
794+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
795+float: 1
796+ifloat: 1
797+
798+# sqrt
799+Test "sqrt (2) == M_SQRT2l":
800+ildouble: 1
801+ldouble: 1
802+
803+# tanh
804+Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
805+ildouble: 1
806+ldouble: 1
807+Test "tanh (-1.0) == -0.7615941559557648881194582826047935904":
808+ildouble: 1
809+ldouble: 1
810+Test "tanh (0.75) == 0.635148952387287319214434357312496495":
811+ildouble: 1
812+ldouble: 1
813+Test "tanh (1.0) == 0.7615941559557648881194582826047935904":
814+ildouble: 1
815+ldouble: 1
816+
817+# tgamma
818+Test "tgamma (-0.5) == -2 sqrt (pi)":
819+double: 1
820+float: 1
821+idouble: 1
822+ifloat: 1
823+ildouble: 1
824+ldouble: 1
825+Test "tgamma (0.5) == sqrt (pi)":
826+float: 1
827+ifloat: 1
828+Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
829+double: 1
830+float: 1
831+idouble: 1
832+ifloat: 1
833+Test "tgamma (4) == 6":
834+ildouble: 1
835+ldouble: 1
836+
837+# y0
838+Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
839+double: 2
840+float: 1
841+idouble: 2
842+ifloat: 1
843+Test "y0 (1.5) == 0.382448923797758843955068554978089862":
844+double: 2
845+float: 1
846+idouble: 2
847+ifloat: 1
848+Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
849+float: 1
850+ifloat: 1
851+ildouble: 3
852+ldouble: 3
853+Test "y0 (8.0) == 0.223521489387566220527323400498620359":
854+double: 1
855+float: 1
856+idouble: 1
857+ifloat: 1
858+ildouble: 3
859+ldouble: 3
860+
861+# y1
862+Test "y1 (0.125) == -5.19993611253477499595928744876579921":
863+double: 1
864+idouble: 1
865+Test "y1 (0.75) == -1.03759455076928541973767132140642198":
866+ildouble: 1
867+ldouble: 1
868+Test "y1 (1.5) == -0.412308626973911295952829820633445323":
869+float: 1
870+ifloat: 1
871+ildouble: 1
872+ldouble: 1
873+Test "y1 (10.0) == 0.249015424206953883923283474663222803":
874+double: 3
875+float: 1
876+idouble: 3
877+ifloat: 1
878+Test "y1 (2.0) == -0.107032431540937546888370772277476637":
879+double: 1
880+float: 1
881+idouble: 1
882+ifloat: 1
883+ildouble: 1
884+ldouble: 1
885+Test "y1 (8.0) == -0.158060461731247494255555266187483550":
886+double: 1
887+float: 2
888+idouble: 1
889+ifloat: 2
890+ildouble: 1
891+ldouble: 1
892+
893+# yn
894+Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
895+double: 2
896+float: 1
897+idouble: 2
898+ifloat: 1
899+Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
900+double: 2
901+float: 1
902+idouble: 2
903+ifloat: 1
904+Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
905+float: 1
906+ifloat: 1
907+ildouble: 3
908+ldouble: 3
909+Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
910+double: 1
911+float: 1
912+idouble: 1
913+ifloat: 1
914+ildouble: 3
915+ldouble: 3
916+Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
917+double: 1
918+idouble: 1
919+Test "yn (1, 0.75) == -1.03759455076928541973767132140642198":
920+ildouble: 1
921+ldouble: 1
922+Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
923+float: 1
924+ifloat: 1
925+ildouble: 1
926+ldouble: 1
927+Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
928+double: 3
929+float: 1
930+idouble: 3
931+ifloat: 1
932+Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
933+double: 1
934+float: 1
935+idouble: 1
936+ifloat: 1
937+ildouble: 1
938+ldouble: 1
939+Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
940+double: 1
941+float: 2
942+idouble: 1
943+ifloat: 2
944+ildouble: 1
945+ldouble: 1
946+Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
947+double: 1
948+idouble: 1
949+ildouble: 2
950+ldouble: 2
951+Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
952+double: 1
953+float: 1
954+idouble: 1
955+ifloat: 1
956+ildouble: 5
957+ldouble: 5
958+Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
959+double: 1
960+idouble: 1
961+ildouble: 1
962+ldouble: 1
963+Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
964+double: 1
965+float: 1
966+idouble: 1
967+ifloat: 1
968+ildouble: 2
969+ldouble: 2
970+Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
971+double: 2
972+idouble: 2
973+ildouble: 2
974+ldouble: 2
975+Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
976+double: 1
977+idouble: 1
978+Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
979+double: 1
980+float: 1
981+idouble: 1
982+ifloat: 1
983+ildouble: 2
984+ldouble: 2
985+Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
986+double: 1
987+float: 1
988+idouble: 1
989+ifloat: 1
990+ildouble: 1
991+ldouble: 1
992+Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
993+double: 1
994+idouble: 1
995+
996+# Maximal error of functions:
997+Function: "atan2":
998+float: 1
999+ifloat: 1
1000+ildouble: 1
1001+ldouble: 1
1002+
1003+Function: "atanh":
1004+float: 1
1005+ifloat: 1
1006+
1007+Function: Imaginary part of "cacos":
1008+ildouble: 1
1009+ldouble: 1
1010+
1011+Function: Imaginary part of "cacosh":
1012+float: 1
1013+ifloat: 1
1014+ildouble: 1
1015+ldouble: 1
1016+
1017+Function: Real part of "casin":
1018+double: 1
1019+float: 1
1020+idouble: 1
1021+ifloat: 1
1022+
1023+Function: Imaginary part of "casin":
1024+ildouble: 1
1025+ldouble: 1
1026+
1027+Function: Real part of "casinh":
1028+double: 5
1029+float: 1
1030+idouble: 5
1031+ifloat: 1
1032+ildouble: 4
1033+ldouble: 4
1034+
1035+Function: Imaginary part of "casinh":
1036+double: 3
1037+float: 6
1038+idouble: 3
1039+ifloat: 6
1040+ildouble: 2
1041+ldouble: 2
1042+
1043+Function: Imaginary part of "catan":
1044+double: 1
1045+float: 1
1046+idouble: 1
1047+ifloat: 1
1048+ildouble: 1
1049+ldouble: 1
1050+
1051+Function: Real part of "catanh":
1052+double: 4
1053+idouble: 4
1054+ildouble: 1
1055+ldouble: 1
1056+
1057+Function: Imaginary part of "catanh":
1058+ildouble: 1
1059+ldouble: 1
1060+
1061+Function: "cbrt":
1062+double: 1
1063+idouble: 1
1064+ildouble: 1
1065+ldouble: 1
1066+
1067+Function: Real part of "ccos":
1068+double: 1
1069+float: 1
1070+idouble: 1
1071+ifloat: 1
1072+ildouble: 1
1073+ldouble: 1
1074+
1075+Function: Imaginary part of "ccos":
1076+float: 1
1077+ifloat: 1
1078+ildouble: 1
1079+ldouble: 1
1080+
1081+Function: Real part of "ccosh":
1082+double: 1
1083+float: 1
1084+idouble: 1
1085+ifloat: 1
1086+ildouble: 1
1087+ldouble: 1
1088+
1089+Function: Imaginary part of "ccosh":
1090+float: 1
1091+ifloat: 1
1092+ildouble: 1
1093+ldouble: 1
1094+
1095+Function: Real part of "cexp":
1096+float: 1
1097+ifloat: 1
1098+ildouble: 1
1099+ldouble: 1
1100+
1101+Function: Imaginary part of "cexp":
1102+float: 1
1103+ifloat: 1
1104+ildouble: 1
1105+ldouble: 1
1106+
1107+Function: Real part of "clog":
1108+float: 1
1109+ifloat: 1
1110+ildouble: 1
1111+ldouble: 1
1112+
1113+Function: Real part of "clog10":
1114+float: 1
1115+ifloat: 1
1116+ildouble: 1
1117+ldouble: 1
1118+
1119+Function: Imaginary part of "clog10":
1120+double: 1
1121+float: 1
1122+idouble: 1
1123+ifloat: 1
1124+ildouble: 1
1125+ldouble: 1
1126+
1127+Function: "cos":
1128+double: 2
1129+float: 1
1130+idouble: 2
1131+ifloat: 1
1132+ildouble: 1
1133+ldouble: 1
1134+
1135+Function: Real part of "cpow":
1136+double: 2
1137+float: 4
1138+idouble: 2
1139+ifloat: 4
1140+ildouble: 10
1141+ldouble: 10
1142+
1143+Function: Imaginary part of "cpow":
1144+double: 2
1145+float: 2
1146+idouble: 2
1147+ifloat: 2
1148+ildouble: 1
1149+ldouble: 1
1150+
1151+Function: Real part of "csin":
1152+ildouble: 1
1153+ldouble: 1
1154+
1155+Function: Imaginary part of "csin":
1156+ildouble: 1
1157+ldouble: 1
1158+
1159+Function: Real part of "csinh":
1160+float: 1
1161+ifloat: 1
1162+ildouble: 1
1163+ldouble: 1
1164+
1165+Function: Imaginary part of "csinh":
1166+double: 1
1167+float: 1
1168+idouble: 1
1169+ifloat: 1
1170+
1171+Function: Real part of "csqrt":
1172+float: 1
1173+ifloat: 1
1174+ildouble: 1
1175+ldouble: 1
1176+
1177+Function: Imaginary part of "csqrt":
1178+ildouble: 1
1179+ldouble: 1
1180+
1181+Function: Real part of "ctan":
1182+ildouble: 1
1183+ldouble: 1
1184+
1185+Function: Imaginary part of "ctan":
1186+double: 1
1187+idouble: 1
1188+ildouble: 2
1189+ldouble: 2
1190+
1191+Function: Real part of "ctanh":
1192+double: 1
1193+float: 2
1194+idouble: 1
1195+ifloat: 2
1196+ildouble: 1
1197+ldouble: 1
1198+
1199+Function: Imaginary part of "ctanh":
1200+float: 1
1201+ifloat: 1
1202+ildouble: 1
1203+ldouble: 1
1204+
1205+Function: "erf":
1206+double: 1
1207+idouble: 1
1208+
1209+Function: "erfc":
1210+double: 1
1211+idouble: 1
1212+ildouble: 1
1213+ldouble: 1
1214+
1215+Function: "exp10":
1216+double: 6
1217+float: 2
1218+idouble: 6
1219+ifloat: 2
1220+ildouble: 1
1221+ldouble: 1
1222+
1223+Function: "exp2":
1224+ildouble: 2
1225+ldouble: 2
1226+
1227+Function: "expm1":
1228+double: 1
1229+float: 1
1230+idouble: 1
1231+ifloat: 1
1232+ildouble: 1
1233+ldouble: 1
1234+
1235+Function: "gamma":
1236+ildouble: 1
1237+ldouble: 1
1238+
1239+Function: "hypot":
1240+float: 1
1241+ifloat: 1
1242+
1243+Function: "j0":
1244+double: 2
1245+float: 2
1246+idouble: 2
1247+ifloat: 2
1248+ildouble: 2
1249+ldouble: 2
1250+
1251+Function: "j1":
1252+double: 1
1253+float: 2
1254+idouble: 1
1255+ifloat: 2
1256+ildouble: 4
1257+ldouble: 4
1258+
1259+Function: "jn":
1260+double: 4
1261+float: 4
1262+idouble: 4
1263+ifloat: 4
1264+ildouble: 4
1265+ldouble: 4
1266+
1267+Function: "lgamma":
1268+double: 1
1269+float: 2
1270+idouble: 1
1271+ifloat: 2
1272+ildouble: 1
1273+ldouble: 1
1274+
1275+Function: "log10":
1276+double: 1
1277+float: 2
1278+idouble: 1
1279+ifloat: 2
1280+ildouble: 1
1281+ldouble: 1
1282+
1283+Function: "log1p":
1284+float: 1
1285+ifloat: 1
1286+ildouble: 1
1287+ldouble: 1
1288+
1289+Function: "log2":
1290+ildouble: 1
1291+ldouble: 1
1292+
1293+Function: "sincos":
1294+double: 1
1295+float: 1
1296+idouble: 1
1297+ifloat: 1
1298+ildouble: 1
1299+ldouble: 1
1300+
1301+Function: "sqrt":
1302+ildouble: 1
1303+ldouble: 1
1304+
1305+Function: "tan":
1306+double: 1
1307+idouble: 1
1308+
1309+Function: "tanh":
1310+ildouble: 1
1311+ldouble: 1
1312+
1313+Function: "tgamma":
1314+double: 1
1315+float: 1
1316+idouble: 1
1317+ifloat: 1
1318+ildouble: 1
1319+ldouble: 1
1320+
1321+Function: "y0":
1322+double: 2
1323+float: 1
1324+idouble: 2
1325+ifloat: 1
1326+ildouble: 3
1327+ldouble: 3
1328+
1329+Function: "y1":
1330+double: 3
1331+float: 2
1332+idouble: 3
1333+ifloat: 2
1334+ildouble: 1
1335+ldouble: 1
1336+
1337+Function: "yn":
1338+double: 3
1339+float: 2
1340+idouble: 3
1341+ifloat: 2
1342+ildouble: 5
1343+ldouble: 5
1344+
1345+# end of automatic generation
1346diff -Naur glibc-2.4.orig/ports/sysdeps/mips/mips64/n64/libm-test-ulps glibc-2.4/ports/sysdeps/mips/mips64/n64/libm-test-ulps
1347--- glibc-2.4.orig/ports/sysdeps/mips/mips64/n64/libm-test-ulps 1969-12-31 16:00:00.000000000 -0800
1348+++ glibc-2.4/ports/sysdeps/mips/mips64/n64/libm-test-ulps 2006-07-22 19:46:47.000000000 -0700
1349@@ -0,0 +1,1245 @@
1350+# Begin of automatic generation
1351+
1352+# atan2
1353+Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994379639112":
1354+ildouble: 1
1355+ldouble: 1
1356+Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
1357+float: 1
1358+ifloat: 1
1359+ildouble: 1
1360+ldouble: 1
1361+Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
1362+float: 1
1363+ifloat: 1
1364+ildouble: 1
1365+ldouble: 1
1366+Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
1367+float: 1
1368+ifloat: 1
1369+ildouble: 1
1370+ldouble: 1
1371+
1372+# atanh
1373+Test "atanh (0.75) == 0.972955074527656652552676371721589865":
1374+float: 1
1375+ifloat: 1
1376+
1377+# cacos
1378+Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
1379+ildouble: 1
1380+ldouble: 1
1381+
1382+# cacosh
1383+Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
1384+float: 1
1385+ifloat: 1
1386+ildouble: 1
1387+ldouble: 1
1388+
1389+# casin
1390+Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
1391+double: 1
1392+float: 1
1393+idouble: 1
1394+ifloat: 1
1395+Test "Imaginary part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
1396+ildouble: 1
1397+ldouble: 1
1398+
1399+# casinh
1400+Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
1401+double: 5
1402+float: 1
1403+idouble: 5
1404+ifloat: 1
1405+ildouble: 4
1406+ldouble: 4
1407+Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
1408+double: 3
1409+float: 6
1410+idouble: 3
1411+ifloat: 6
1412+ildouble: 2
1413+ldouble: 2
1414+Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
1415+float: 1
1416+ifloat: 1
1417+ildouble: 1
1418+ldouble: 1
1419+Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
1420+double: 1
1421+float: 1
1422+idouble: 1
1423+ifloat: 1
1424+ildouble: 1
1425+ldouble: 1
1426+
1427+# catan
1428+Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
1429+double: 1
1430+float: 1
1431+idouble: 1
1432+ifloat: 1
1433+Test "Imaginary part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
1434+ildouble: 1
1435+ldouble: 1
1436+
1437+# catanh
1438+Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
1439+double: 4
1440+idouble: 4
1441+Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
1442+double: 1
1443+idouble: 1
1444+ildouble: 1
1445+ldouble: 1
1446+Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
1447+ildouble: 1
1448+ldouble: 1
1449+
1450+# cbrt
1451+Test "cbrt (-0.001) == -0.1":
1452+ildouble: 1
1453+ldouble: 1
1454+Test "cbrt (-27.0) == -3.0":
1455+double: 1
1456+idouble: 1
1457+Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
1458+double: 1
1459+idouble: 1
1460+Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
1461+double: 1
1462+idouble: 1
1463+
1464+# ccos
1465+Test "Real part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
1466+ildouble: 1
1467+ldouble: 1
1468+Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
1469+float: 1
1470+ifloat: 1
1471+ildouble: 1
1472+ldouble: 1
1473+Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
1474+double: 1
1475+float: 1
1476+idouble: 1
1477+ifloat: 1
1478+Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
1479+float: 1
1480+ifloat: 1
1481+
1482+# ccosh
1483+Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
1484+float: 1
1485+ifloat: 1
1486+ildouble: 1
1487+ldouble: 1
1488+Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
1489+float: 1
1490+ifloat: 1
1491+ildouble: 1
1492+ldouble: 1
1493+Test "Real part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
1494+double: 1
1495+float: 1
1496+idouble: 1
1497+ifloat: 1
1498+Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
1499+float: 1
1500+ifloat: 1
1501+
1502+# cexp
1503+Test "Real part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
1504+ildouble: 1
1505+ldouble: 1
1506+Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
1507+float: 1
1508+ifloat: 1
1509+ildouble: 1
1510+ldouble: 1
1511+Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
1512+float: 1
1513+ifloat: 1
1514+Test "Imaginary part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
1515+ildouble: 1
1516+ldouble: 1
1517+
1518+# clog
1519+Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
1520+float: 1
1521+ifloat: 1
1522+ildouble: 1
1523+ldouble: 1
1524+
1525+# clog10
1526+Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
1527+double: 1
1528+float: 1
1529+idouble: 1
1530+ifloat: 1
1531+Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
1532+double: 1
1533+float: 1
1534+idouble: 1
1535+ifloat: 1
1536+Test "Real part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
1537+ildouble: 1
1538+ldouble: 1
1539+Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
1540+double: 1
1541+idouble: 1
1542+ildouble: 1
1543+ldouble: 1
1544+Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
1545+double: 1
1546+float: 1
1547+idouble: 1
1548+ifloat: 1
1549+Test "Imaginary part of: clog10 (-3 - inf i) == inf - pi/2*log10(e) i":
1550+double: 1
1551+float: 1
1552+idouble: 1
1553+ifloat: 1
1554+Test "Imaginary part of: clog10 (-inf + 0 i) == inf + pi*log10(e) i":
1555+double: 1
1556+float: 1
1557+idouble: 1
1558+ifloat: 1
1559+Test "Imaginary part of: clog10 (-inf + 1 i) == inf + pi*log10(e) i":
1560+double: 1
1561+float: 1
1562+idouble: 1
1563+ifloat: 1
1564+Test "Imaginary part of: clog10 (-inf + inf i) == inf + 3/4 pi*log10(e) i":
1565+double: 1
1566+idouble: 1
1567+Test "Imaginary part of: clog10 (-inf - 0 i) == inf - pi*log10(e) i":
1568+double: 1
1569+float: 1
1570+idouble: 1
1571+ifloat: 1
1572+Test "Imaginary part of: clog10 (-inf - 1 i) == inf - pi*log10(e) i":
1573+double: 1
1574+float: 1
1575+idouble: 1
1576+ifloat: 1
1577+Test "Imaginary part of: clog10 (0 + inf i) == inf + pi/2*log10(e) i":
1578+double: 1
1579+float: 1
1580+idouble: 1
1581+ifloat: 1
1582+Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
1583+double: 1
1584+float: 1
1585+idouble: 1
1586+ifloat: 1
1587+Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
1588+float: 1
1589+ifloat: 1
1590+Test "Imaginary part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
1591+ildouble: 1
1592+ldouble: 1
1593+Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
1594+double: 1
1595+float: 1
1596+idouble: 1
1597+ifloat: 1
1598+Test "Imaginary part of: clog10 (3 - inf i) == inf - pi/2*log10(e) i":
1599+double: 1
1600+float: 1
1601+idouble: 1
1602+ifloat: 1
1603+Test "Imaginary part of: clog10 (inf + inf i) == inf + pi/4*log10(e) i":
1604+double: 1
1605+float: 1
1606+idouble: 1
1607+ifloat: 1
1608+Test "Imaginary part of: clog10 (inf - inf i) == inf - pi/4*log10(e) i":
1609+double: 1
1610+float: 1
1611+idouble: 1
1612+ifloat: 1
1613+
1614+# cos
1615+Test "cos (M_PI_6l * 2.0) == 0.5":
1616+double: 1
1617+idouble: 1
1618+ildouble: 1
1619+ldouble: 1
1620+Test "cos (M_PI_6l * 4.0) == -0.5":
1621+double: 2
1622+float: 1
1623+idouble: 2
1624+ifloat: 1
1625+ildouble: 1
1626+ldouble: 1
1627+
1628+# cpow
1629+Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
1630+float: 1
1631+ifloat: 1
1632+Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
1633+float: 1
1634+ifloat: 1
1635+Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
1636+double: 1
1637+float: 4
1638+idouble: 1
1639+ifloat: 4
1640+ildouble: 4
1641+ldouble: 4
1642+Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
1643+ildouble: 2
1644+ldouble: 2
1645+Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
1646+ildouble: 1
1647+ldouble: 1
1648+Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
1649+double: 2
1650+float: 3
1651+idouble: 2
1652+ifloat: 3
1653+ildouble: 10
1654+ldouble: 10
1655+Test "Real part of: cpow (2 + 0 i, 10 + 0 i) == 1024.0 + 0.0 i":
1656+ildouble: 2
1657+ldouble: 2
1658+Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
1659+double: 1
1660+float: 4
1661+idouble: 1
1662+ifloat: 4
1663+ildouble: 3
1664+ldouble: 3
1665+Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
1666+float: 2
1667+ifloat: 2
1668+Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
1669+double: 2
1670+float: 2
1671+idouble: 2
1672+ifloat: 2
1673+ildouble: 1
1674+ldouble: 1
1675+
1676+# csin
1677+Test "Imaginary part of: csin (-2 - 3 i) == -9.15449914691142957346729954460983256 + 4.16890695996656435075481305885375484 i":
1678+ildouble: 1
1679+ldouble: 1
1680+Test "Real part of: csin (0.75 + 1.25 i) == 1.28722291002649188575873510790565441 + 1.17210635989270256101081285116138863 i":
1681+ildouble: 1
1682+ldouble: 1
1683+
1684+# csinh
1685+Test "Real part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
1686+ildouble: 1
1687+ldouble: 1
1688+Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
1689+double: 1
1690+idouble: 1
1691+Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
1692+float: 1
1693+ifloat: 1
1694+Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
1695+float: 1
1696+ifloat: 1
1697+
1698+# csqrt
1699+Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
1700+float: 1
1701+ifloat: 1
1702+ildouble: 1
1703+ldouble: 1
1704+Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
1705+float: 1
1706+ifloat: 1
1707+ildouble: 1
1708+ldouble: 1
1709+Test "Imaginary part of: csqrt (0.75 + 1.25 i) == 1.05065169626078392338656675760808326 + 0.594868882070379067881984030639932657 i":
1710+ildouble: 1
1711+ldouble: 1
1712+
1713+# ctan
1714+Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
1715+ildouble: 1
1716+ldouble: 1
1717+Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
1718+ildouble: 1
1719+ldouble: 1
1720+Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
1721+double: 1
1722+idouble: 1
1723+ildouble: 2
1724+ldouble: 2
1725+
1726+# ctanh
1727+Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
1728+double: 1
1729+float: 2
1730+idouble: 1
1731+ifloat: 2
1732+ildouble: 1
1733+ldouble: 1
1734+Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
1735+ildouble: 1
1736+ldouble: 1
1737+Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
1738+float: 1
1739+ifloat: 1
1740+Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
1741+double: 1
1742+idouble: 1
1743+
1744+# erf
1745+Test "erf (1.25) == 0.922900128256458230136523481197281140":
1746+double: 1
1747+idouble: 1
1748+
1749+# erfc
1750+Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
1751+double: 1
1752+idouble: 1
1753+Test "erfc (27.0) == 0.523704892378925568501606768284954709e-318":
1754+ildouble: 1
1755+ldouble: 1
1756+Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
1757+double: 1
1758+idouble: 1
1759+
1760+# exp10
1761+Test "exp10 (-1) == 0.1":
1762+double: 2
1763+float: 1
1764+idouble: 2
1765+ifloat: 1
1766+Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
1767+double: 1
1768+float: 1
1769+idouble: 1
1770+ifloat: 1
1771+Test "exp10 (3) == 1000":
1772+double: 6
1773+float: 2
1774+idouble: 6
1775+ifloat: 2
1776+ildouble: 1
1777+ldouble: 1
1778+
1779+# exp2
1780+Test "exp2 (10) == 1024":
1781+ildouble: 2
1782+ldouble: 2
1783+
1784+# expm1
1785+Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
1786+double: 1
1787+idouble: 1
1788+Test "expm1 (1) == M_El - 1.0":
1789+double: 1
1790+float: 1
1791+idouble: 1
1792+ifloat: 1
1793+ildouble: 1
1794+ldouble: 1
1795+
1796+# gamma
1797+Test "gamma (-0.5) == log(2*sqrt(pi))":
1798+ildouble: 1
1799+ldouble: 1
1800+
1801+# hypot
1802+Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
1803+float: 1
1804+ifloat: 1
1805+Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
1806+float: 1
1807+ifloat: 1
1808+Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
1809+float: 1
1810+ifloat: 1
1811+Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
1812+float: 1
1813+ifloat: 1
1814+Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
1815+float: 1
1816+ifloat: 1
1817+Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
1818+float: 1
1819+ifloat: 1
1820+Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
1821+float: 1
1822+ifloat: 1
1823+Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
1824+float: 1
1825+ifloat: 1
1826+
1827+# j0
1828+Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
1829+double: 1
1830+float: 1
1831+idouble: 1
1832+ifloat: 1
1833+Test "j0 (0.75) == 0.864242275166648623555731103820923211":
1834+float: 1
1835+ifloat: 1
1836+Test "j0 (10.0) == -0.245935764451348335197760862485328754":
1837+double: 2
1838+float: 1
1839+idouble: 2
1840+ifloat: 1
1841+ildouble: 2
1842+ldouble: 2
1843+Test "j0 (2.0) == 0.223890779141235668051827454649948626":
1844+float: 2
1845+ifloat: 2
1846+ildouble: 2
1847+ldouble: 2
1848+Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
1849+double: 1
1850+float: 1
1851+idouble: 1
1852+ifloat: 1
1853+Test "j0 (8.0) == 0.171650807137553906090869407851972001":
1854+float: 1
1855+ifloat: 1
1856+ildouble: 1
1857+ldouble: 1
1858+
1859+# j1
1860+Test "j1 (-1.0) == -0.440050585744933515959682203718914913":
1861+ildouble: 1
1862+ldouble: 1
1863+Test "j1 (0.75) == 0.349243602174862192523281016426251335":
1864+ildouble: 1
1865+ldouble: 1
1866+Test "j1 (1.0) == 0.440050585744933515959682203718914913":
1867+ildouble: 1
1868+ldouble: 1
1869+Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
1870+float: 2
1871+ifloat: 2
1872+ildouble: 2
1873+ldouble: 2
1874+Test "j1 (2.0) == 0.576724807756873387202448242269137087":
1875+double: 1
1876+idouble: 1
1877+Test "j1 (8.0) == 0.234636346853914624381276651590454612":
1878+double: 1
1879+idouble: 1
1880+ildouble: 4
1881+ldouble: 4
1882+
1883+# jn
1884+Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
1885+double: 1
1886+float: 1
1887+idouble: 1
1888+ifloat: 1
1889+Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
1890+float: 1
1891+ifloat: 1
1892+Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
1893+double: 2
1894+float: 1
1895+idouble: 2
1896+ifloat: 1
1897+ildouble: 2
1898+ldouble: 2
1899+Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
1900+float: 2
1901+ifloat: 2
1902+ildouble: 2
1903+ldouble: 2
1904+Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
1905+double: 1
1906+float: 1
1907+idouble: 1
1908+ifloat: 1
1909+Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
1910+float: 1
1911+ifloat: 1
1912+ildouble: 1
1913+ldouble: 1
1914+Test "jn (1, -1.0) == -0.440050585744933515959682203718914913":
1915+ildouble: 1
1916+ldouble: 1
1917+Test "jn (1, 0.75) == 0.349243602174862192523281016426251335":
1918+ildouble: 1
1919+ldouble: 1
1920+Test "jn (1, 1.0) == 0.440050585744933515959682203718914913":
1921+ildouble: 1
1922+ldouble: 1
1923+Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
1924+float: 2
1925+ifloat: 2
1926+ildouble: 2
1927+ldouble: 2
1928+Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
1929+double: 1
1930+idouble: 1
1931+Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
1932+double: 1
1933+idouble: 1
1934+ildouble: 4
1935+ldouble: 4
1936+Test "jn (10, -1.0) == 0.263061512368745320699785368779050294e-9":
1937+ildouble: 1
1938+ldouble: 1
1939+Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
1940+double: 1
1941+float: 1
1942+idouble: 1
1943+ifloat: 1
1944+ildouble: 1
1945+ldouble: 1
1946+Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
1947+double: 1
1948+float: 1
1949+idouble: 1
1950+ifloat: 1
1951+ildouble: 1
1952+ldouble: 1
1953+Test "jn (10, 1.0) == 0.263061512368745320699785368779050294e-9":
1954+ildouble: 1
1955+ldouble: 1
1956+Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
1957+double: 4
1958+float: 3
1959+idouble: 4
1960+ifloat: 3
1961+ildouble: 2
1962+ldouble: 2
1963+Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
1964+float: 4
1965+ifloat: 4
1966+Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
1967+double: 1
1968+float: 1
1969+idouble: 1
1970+ifloat: 1
1971+Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
1972+double: 1
1973+float: 1
1974+idouble: 1
1975+ifloat: 1
1976+Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
1977+double: 3
1978+float: 1
1979+idouble: 3
1980+ifloat: 1
1981+ildouble: 2
1982+ldouble: 2
1983+Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
1984+double: 1
1985+float: 2
1986+idouble: 1
1987+ifloat: 2
1988+
1989+# lgamma
1990+Test "lgamma (-0.5) == log(2*sqrt(pi))":
1991+ildouble: 1
1992+ldouble: 1
1993+Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
1994+double: 1
1995+float: 1
1996+idouble: 1
1997+ifloat: 1
1998+ildouble: 1
1999+ldouble: 1
2000+Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
2001+double: 1
2002+float: 2
2003+idouble: 1
2004+ifloat: 2
2005+ildouble: 1
2006+ldouble: 1
2007+
2008+# log10
2009+Test "log10 (0.75) == -0.124938736608299953132449886193870744":
2010+double: 1
2011+float: 2
2012+idouble: 1
2013+ifloat: 2
2014+Test "log10 (e) == log10(e)":
2015+float: 1
2016+ifloat: 1
2017+ildouble: 1
2018+ldouble: 1
2019+
2020+# log1p
2021+Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
2022+float: 1
2023+ifloat: 1
2024+
2025+# log2
2026+Test "log2 (0.75) == -.415037499278843818546261056052183492":
2027+ildouble: 1
2028+ldouble: 1
2029+
2030+# sincos
2031+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
2032+double: 1
2033+idouble: 1
2034+ildouble: 1
2035+ldouble: 1
2036+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
2037+double: 1
2038+float: 1
2039+idouble: 1
2040+ifloat: 1
2041+ildouble: 1
2042+ldouble: 1
2043+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
2044+float: 1
2045+ifloat: 1
2046+
2047+# sqrt
2048+Test "sqrt (2) == M_SQRT2l":
2049+ildouble: 1
2050+ldouble: 1
2051+
2052+# tanh
2053+Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
2054+ildouble: 1
2055+ldouble: 1
2056+Test "tanh (-1.0) == -0.7615941559557648881194582826047935904":
2057+ildouble: 1
2058+ldouble: 1
2059+Test "tanh (0.75) == 0.635148952387287319214434357312496495":
2060+ildouble: 1
2061+ldouble: 1
2062+Test "tanh (1.0) == 0.7615941559557648881194582826047935904":
2063+ildouble: 1
2064+ldouble: 1
2065+
2066+# tgamma
2067+Test "tgamma (-0.5) == -2 sqrt (pi)":
2068+double: 1
2069+float: 1
2070+idouble: 1
2071+ifloat: 1
2072+ildouble: 1
2073+ldouble: 1
2074+Test "tgamma (0.5) == sqrt (pi)":
2075+float: 1
2076+ifloat: 1
2077+Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
2078+double: 1
2079+float: 1
2080+idouble: 1
2081+ifloat: 1
2082+Test "tgamma (4) == 6":
2083+ildouble: 1
2084+ldouble: 1
2085+
2086+# y0
2087+Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
2088+double: 2
2089+float: 1
2090+idouble: 2
2091+ifloat: 1
2092+Test "y0 (1.5) == 0.382448923797758843955068554978089862":
2093+double: 2
2094+float: 1
2095+idouble: 2
2096+ifloat: 1
2097+Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
2098+float: 1
2099+ifloat: 1
2100+ildouble: 3
2101+ldouble: 3
2102+Test "y0 (8.0) == 0.223521489387566220527323400498620359":
2103+double: 1
2104+float: 1
2105+idouble: 1
2106+ifloat: 1
2107+ildouble: 3
2108+ldouble: 3
2109+
2110+# y1
2111+Test "y1 (0.125) == -5.19993611253477499595928744876579921":
2112+double: 1
2113+idouble: 1
2114+Test "y1 (0.75) == -1.03759455076928541973767132140642198":
2115+ildouble: 1
2116+ldouble: 1
2117+Test "y1 (1.5) == -0.412308626973911295952829820633445323":
2118+float: 1
2119+ifloat: 1
2120+ildouble: 1
2121+ldouble: 1
2122+Test "y1 (10.0) == 0.249015424206953883923283474663222803":
2123+double: 3
2124+float: 1
2125+idouble: 3
2126+ifloat: 1
2127+Test "y1 (2.0) == -0.107032431540937546888370772277476637":
2128+double: 1
2129+float: 1
2130+idouble: 1
2131+ifloat: 1
2132+ildouble: 1
2133+ldouble: 1
2134+Test "y1 (8.0) == -0.158060461731247494255555266187483550":
2135+double: 1
2136+float: 2
2137+idouble: 1
2138+ifloat: 2
2139+ildouble: 1
2140+ldouble: 1
2141+
2142+# yn
2143+Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
2144+double: 2
2145+float: 1
2146+idouble: 2
2147+ifloat: 1
2148+Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
2149+double: 2
2150+float: 1
2151+idouble: 2
2152+ifloat: 1
2153+Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
2154+float: 1
2155+ifloat: 1
2156+ildouble: 3
2157+ldouble: 3
2158+Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
2159+double: 1
2160+float: 1
2161+idouble: 1
2162+ifloat: 1
2163+ildouble: 3
2164+ldouble: 3
2165+Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
2166+double: 1
2167+idouble: 1
2168+Test "yn (1, 0.75) == -1.03759455076928541973767132140642198":
2169+ildouble: 1
2170+ldouble: 1
2171+Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
2172+float: 1
2173+ifloat: 1
2174+ildouble: 1
2175+ldouble: 1
2176+Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
2177+double: 3
2178+float: 1
2179+idouble: 3
2180+ifloat: 1
2181+Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
2182+double: 1
2183+float: 1
2184+idouble: 1
2185+ifloat: 1
2186+ildouble: 1
2187+ldouble: 1
2188+Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
2189+double: 1
2190+float: 2
2191+idouble: 1
2192+ifloat: 2
2193+ildouble: 1
2194+ldouble: 1
2195+Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
2196+double: 1
2197+idouble: 1
2198+ildouble: 2
2199+ldouble: 2
2200+Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
2201+double: 1
2202+float: 1
2203+idouble: 1
2204+ifloat: 1
2205+ildouble: 5
2206+ldouble: 5
2207+Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
2208+double: 1
2209+idouble: 1
2210+ildouble: 1
2211+ldouble: 1
2212+Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
2213+double: 1
2214+float: 1
2215+idouble: 1
2216+ifloat: 1
2217+ildouble: 2
2218+ldouble: 2
2219+Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
2220+double: 2
2221+idouble: 2
2222+ildouble: 2
2223+ldouble: 2
2224+Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
2225+double: 1
2226+idouble: 1
2227+Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
2228+double: 1
2229+float: 1
2230+idouble: 1
2231+ifloat: 1
2232+ildouble: 2
2233+ldouble: 2
2234+Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
2235+double: 1
2236+float: 1
2237+idouble: 1
2238+ifloat: 1
2239+ildouble: 1
2240+ldouble: 1
2241+Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
2242+double: 1
2243+idouble: 1
2244+
2245+# Maximal error of functions:
2246+Function: "atan2":
2247+float: 1
2248+ifloat: 1
2249+ildouble: 1
2250+ldouble: 1
2251+
2252+Function: "atanh":
2253+float: 1
2254+ifloat: 1
2255+
2256+Function: Imaginary part of "cacos":
2257+ildouble: 1
2258+ldouble: 1
2259+
2260+Function: Imaginary part of "cacosh":
2261+float: 1
2262+ifloat: 1
2263+ildouble: 1
2264+ldouble: 1
2265+
2266+Function: Real part of "casin":
2267+double: 1
2268+float: 1
2269+idouble: 1
2270+ifloat: 1
2271+
2272+Function: Imaginary part of "casin":
2273+ildouble: 1
2274+ldouble: 1
2275+
2276+Function: Real part of "casinh":
2277+double: 5
2278+float: 1
2279+idouble: 5
2280+ifloat: 1
2281+ildouble: 4
2282+ldouble: 4
2283+
2284+Function: Imaginary part of "casinh":
2285+double: 3
2286+float: 6
2287+idouble: 3
2288+ifloat: 6
2289+ildouble: 2
2290+ldouble: 2
2291+
2292+Function: Imaginary part of "catan":
2293+double: 1
2294+float: 1
2295+idouble: 1
2296+ifloat: 1
2297+ildouble: 1
2298+ldouble: 1
2299+
2300+Function: Real part of "catanh":
2301+double: 4
2302+idouble: 4
2303+ildouble: 1
2304+ldouble: 1
2305+
2306+Function: Imaginary part of "catanh":
2307+ildouble: 1
2308+ldouble: 1
2309+
2310+Function: "cbrt":
2311+double: 1
2312+idouble: 1
2313+ildouble: 1
2314+ldouble: 1
2315+
2316+Function: Real part of "ccos":
2317+double: 1
2318+float: 1
2319+idouble: 1
2320+ifloat: 1
2321+ildouble: 1
2322+ldouble: 1
2323+
2324+Function: Imaginary part of "ccos":
2325+float: 1
2326+ifloat: 1
2327+ildouble: 1
2328+ldouble: 1
2329+
2330+Function: Real part of "ccosh":
2331+double: 1
2332+float: 1
2333+idouble: 1
2334+ifloat: 1
2335+ildouble: 1
2336+ldouble: 1
2337+
2338+Function: Imaginary part of "ccosh":
2339+float: 1
2340+ifloat: 1
2341+ildouble: 1
2342+ldouble: 1
2343+
2344+Function: Real part of "cexp":
2345+float: 1
2346+ifloat: 1
2347+ildouble: 1
2348+ldouble: 1
2349+
2350+Function: Imaginary part of "cexp":
2351+float: 1
2352+ifloat: 1
2353+ildouble: 1
2354+ldouble: 1
2355+
2356+Function: Real part of "clog":
2357+float: 1
2358+ifloat: 1
2359+ildouble: 1
2360+ldouble: 1
2361+
2362+Function: Real part of "clog10":
2363+float: 1
2364+ifloat: 1
2365+ildouble: 1
2366+ldouble: 1
2367+
2368+Function: Imaginary part of "clog10":
2369+double: 1
2370+float: 1
2371+idouble: 1
2372+ifloat: 1
2373+ildouble: 1
2374+ldouble: 1
2375+
2376+Function: "cos":
2377+double: 2
2378+float: 1
2379+idouble: 2
2380+ifloat: 1
2381+ildouble: 1
2382+ldouble: 1
2383+
2384+Function: Real part of "cpow":
2385+double: 2
2386+float: 4
2387+idouble: 2
2388+ifloat: 4
2389+ildouble: 10
2390+ldouble: 10
2391+
2392+Function: Imaginary part of "cpow":
2393+double: 2
2394+float: 2
2395+idouble: 2
2396+ifloat: 2
2397+ildouble: 1
2398+ldouble: 1
2399+
2400+Function: Real part of "csin":
2401+ildouble: 1
2402+ldouble: 1
2403+
2404+Function: Imaginary part of "csin":
2405+ildouble: 1
2406+ldouble: 1
2407+
2408+Function: Real part of "csinh":
2409+float: 1
2410+ifloat: 1
2411+ildouble: 1
2412+ldouble: 1
2413+
2414+Function: Imaginary part of "csinh":
2415+double: 1
2416+float: 1
2417+idouble: 1
2418+ifloat: 1
2419+
2420+Function: Real part of "csqrt":
2421+float: 1
2422+ifloat: 1
2423+ildouble: 1
2424+ldouble: 1
2425+
2426+Function: Imaginary part of "csqrt":
2427+ildouble: 1
2428+ldouble: 1
2429+
2430+Function: Real part of "ctan":
2431+ildouble: 1
2432+ldouble: 1
2433+
2434+Function: Imaginary part of "ctan":
2435+double: 1
2436+idouble: 1
2437+ildouble: 2
2438+ldouble: 2
2439+
2440+Function: Real part of "ctanh":
2441+double: 1
2442+float: 2
2443+idouble: 1
2444+ifloat: 2
2445+ildouble: 1
2446+ldouble: 1
2447+
2448+Function: Imaginary part of "ctanh":
2449+float: 1
2450+ifloat: 1
2451+ildouble: 1
2452+ldouble: 1
2453+
2454+Function: "erf":
2455+double: 1
2456+idouble: 1
2457+
2458+Function: "erfc":
2459+double: 1
2460+idouble: 1
2461+ildouble: 1
2462+ldouble: 1
2463+
2464+Function: "exp10":
2465+double: 6
2466+float: 2
2467+idouble: 6
2468+ifloat: 2
2469+ildouble: 1
2470+ldouble: 1
2471+
2472+Function: "exp2":
2473+ildouble: 2
2474+ldouble: 2
2475+
2476+Function: "expm1":
2477+double: 1
2478+float: 1
2479+idouble: 1
2480+ifloat: 1
2481+ildouble: 1
2482+ldouble: 1
2483+
2484+Function: "gamma":
2485+ildouble: 1
2486+ldouble: 1
2487+
2488+Function: "hypot":
2489+float: 1
2490+ifloat: 1
2491+
2492+Function: "j0":
2493+double: 2
2494+float: 2
2495+idouble: 2
2496+ifloat: 2
2497+ildouble: 2
2498+ldouble: 2
2499+
2500+Function: "j1":
2501+double: 1
2502+float: 2
2503+idouble: 1
2504+ifloat: 2
2505+ildouble: 4
2506+ldouble: 4
2507+
2508+Function: "jn":
2509+double: 4
2510+float: 4
2511+idouble: 4
2512+ifloat: 4
2513+ildouble: 4
2514+ldouble: 4
2515+
2516+Function: "lgamma":
2517+double: 1
2518+float: 2
2519+idouble: 1
2520+ifloat: 2
2521+ildouble: 1
2522+ldouble: 1
2523+
2524+Function: "log10":
2525+double: 1
2526+float: 2
2527+idouble: 1
2528+ifloat: 2
2529+ildouble: 1
2530+ldouble: 1
2531+
2532+Function: "log1p":
2533+float: 1
2534+ifloat: 1
2535+ildouble: 1
2536+ldouble: 1
2537+
2538+Function: "log2":
2539+ildouble: 1
2540+ldouble: 1
2541+
2542+Function: "sincos":
2543+double: 1
2544+float: 1
2545+idouble: 1
2546+ifloat: 1
2547+ildouble: 1
2548+ldouble: 1
2549+
2550+Function: "sqrt":
2551+ildouble: 1
2552+ldouble: 1
2553+
2554+Function: "tan":
2555+double: 1
2556+idouble: 1
2557+
2558+Function: "tanh":
2559+ildouble: 1
2560+ldouble: 1
2561+
2562+Function: "tgamma":
2563+double: 1
2564+float: 1
2565+idouble: 1
2566+ifloat: 1
2567+ildouble: 1
2568+ldouble: 1
2569+
2570+Function: "y0":
2571+double: 2
2572+float: 1
2573+idouble: 2
2574+ifloat: 1
2575+ildouble: 3
2576+ldouble: 3
2577+
2578+Function: "y1":
2579+double: 3
2580+float: 2
2581+idouble: 3
2582+ifloat: 2
2583+ildouble: 1
2584+ldouble: 1
2585+
2586+Function: "yn":
2587+double: 3
2588+float: 2
2589+idouble: 3
2590+ifloat: 2
2591+ildouble: 5
2592+ldouble: 5
2593+
2594+# end of automatic generation
2595diff -Naur glibc-2.4.orig/ports/sysdeps/mips/tst-audit.h glibc-2.4/ports/sysdeps/mips/tst-audit.h
2596--- glibc-2.4.orig/ports/sysdeps/mips/tst-audit.h 1969-12-31 16:00:00.000000000 -0800
2597+++ glibc-2.4/ports/sysdeps/mips/tst-audit.h 2006-07-22 19:30:57.000000000 -0700
2598@@ -0,0 +1,40 @@
2599+/* Definitions for testing PLT entry/exit auditing. ARM version.
2600+
2601+ Copyright (C) 2005 Free Software Foundation, Inc.
2602+
2603+ This file is part of the GNU C Library.
2604+
2605+ The GNU C Library is free software; you can redistribute it and/or
2606+ modify it under the terms of the GNU Lesser General Public
2607+ License as published by the Free Software Foundation; either
2608+ version 2.1 of the License, or (at your option) any later version.
2609+
2610+ The GNU C Library is distributed in the hope that it will be useful,
2611+ but WITHOUT ANY WARRANTY; without even the implied warranty of
2612+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2613+ Lesser General Public License for more details.
2614+
2615+ You should have received a copy of the GNU Lesser General Public
2616+ License along with the GNU C Library; if not, write to the Free
2617+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
2618+ 02111-1307 USA. */
2619+
2620+#include <sgidefs.h>
2621+
2622+#if _MIPS_SIM == _ABIO32
2623+#define pltenter la_mips_o32_gnu_pltenter
2624+#define pltexit la_mips_o32_gnu_pltexit
2625+#define La_regs La_mips_32_regs
2626+#define La_retval La_mips_32_retval
2627+#else
2628+#if _MIPS_SIM == _ABIN32
2629+#define pltenter la_mips_n32_gnu_pltenter
2630+#define pltexit la_mips_n32_gnu_pltexit
2631+#else
2632+#define pltenter la_mips_n64_gnu_pltenter
2633+#define pltexit la_mips_n64_gnu_pltexit
2634+#endif
2635+#define La_regs La_mips_64_regs
2636+#define La_retval La_mips_64_retval
2637+#endif
2638+#define int_retval lrv_v0
2639diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h
2640--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h 2005-06-20 08:07:34.000000000 -0700
2641+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/bits/resource.h 2006-07-22 19:35:21.000000000 -0700
2642@@ -107,14 +107,22 @@
2643 };
2644
2645 /* Value to indicate that there is no limit. */
2646-#ifndef __USE_FILE_OFFSET64
2647-# define RLIM_INFINITY ((long int)(~0UL >> 1))
2648+#if _MIPS_SIM == _ABI64
2649+/* The N64 syscall uses this value. */
2650+# define RLIM_INFINITY 0xffffffffffffffffUL
2651+# ifdef __USE_LARGEFILE64
2652+# define RLIM64_INFINITY 0xffffffffffffffffUL
2653+# endif
2654 #else
2655-# define RLIM_INFINITY 0x7fffffffffffffffLL
2656-#endif
2657-
2658-#ifdef __USE_LARGEFILE64
2659-# define RLIM64_INFINITY 0x7fffffffffffffffLL
2660+/* The O32 and N32 syscalls use 0x7fffffff. */
2661+# ifndef __USE_FILE_OFFSET64
2662+# define RLIM_INFINITY ((long int)(~0UL >> 1))
2663+# else
2664+# define RLIM_INFINITY 0x7fffffffffffffffULL
2665+# endif
2666+# ifdef __USE_LARGEFILE64
2667+# define RLIM64_INFINITY 0x7fffffffffffffffULL
2668+# endif
2669 #endif
2670
2671 /* We can represent all limits. */
2672diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h
2673--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h 2004-11-23 20:37:34.000000000 -0800
2674+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/bits/sigcontext.h 2006-07-22 19:33:52.000000000 -0700
2675@@ -1,5 +1,5 @@
2676-/* Copyright (C) 1996, 1997, 1998, 2003, 2004 Free Software Foundation, Inc.
2677- This file is part of the GNU C Library.
2678+/* Copyright (C) 1996, 1997, 1998, 2003, 2004, 2006 Free Software
2679+ Foundation, Inc. This file is part of the GNU C Library.
2680
2681 The GNU C Library is free software; you can redistribute it and/or
2682 modify it under the terms of the GNU Lesser General Public
2683@@ -16,90 +16,69 @@
2684 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
2685 02111-1307 USA. */
2686
2687+#ifndef _BITS_SIGCONTEXT_H
2688+#define _BITS_SIGCONTEXT_H 1
2689+
2690 #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
2691 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
2692 #endif
2693
2694 #include <sgidefs.h>
2695
2696-#ifndef sigcontext_struct
2697-/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
2698- we need sigcontext. */
2699-# define sigcontext_struct sigcontext
2700-
2701-/* # include <asm/sigcontext.h> */
2702-/* Instead of including the kernel header, that will vary depending on
2703- whether the 32- or the 64-bit kernel is installed, we paste the
2704- contents here. In case you're wondering about the different
2705- licenses, the fact that the file is pasted, instead of included,
2706- doesn't really make any difference for the program that includes
2707- this header. */
2708 #if _MIPS_SIM == _ABIO32
2709-/*
2710- * This file is subject to the terms and conditions of the GNU General Public
2711- * License. See the file "COPYING" in the main directory of this archive
2712- * for more details.
2713- *
2714- * Copyright (C) 1996, 1997, 2000 by Ralf Baechle
2715- */
2716-#ifndef _ASM_SIGCONTEXT_H
2717-#define _ASM_SIGCONTEXT_H
2718-
2719-/*
2720- * Keep this struct definition in sync with the sigcontext fragment
2721- * in arch/mips/tools/offset.c
2722- */
2723-struct sigcontext {
2724- unsigned int sc_regmask; /* Unused */
2725- unsigned int sc_status;
2726- unsigned long long sc_pc;
2727- unsigned long long sc_regs[32];
2728- unsigned long long sc_fpregs[32];
2729- unsigned int sc_ownedfp; /* Unused */
2730- unsigned int sc_fpc_csr;
2731- unsigned int sc_fpc_eir; /* Unused */
2732- unsigned int sc_used_math;
2733- unsigned int sc_ssflags; /* Unused */
2734- unsigned long long sc_mdhi;
2735- unsigned long long sc_mdlo;
2736
2737- unsigned int sc_cause; /* Unused */
2738- unsigned int sc_badvaddr; /* Unused */
2739+/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
2740+ The changes were as follows:
2741+
2742+ sc_cause -> sc_hi1
2743+ sc_badvaddr -> sc_lo1
2744+ sc_sigset[0] -> sc_hi2
2745+ sc_sigset[1] -> sc_lo2
2746+ sc_sigset[2] -> sc_hi3
2747+ sc_sigset[3] -> sc_lo3
2748
2749- unsigned long sc_sigset[4]; /* kernel's sigset_t */
2750+ sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
2751+struct sigcontext {
2752+ unsigned int sc_regmask;
2753+ unsigned int sc_status;
2754+ unsigned long long sc_pc;
2755+ unsigned long long sc_regs[32];
2756+ unsigned long long sc_fpregs[32];
2757+ unsigned int sc_ownedfp;
2758+ unsigned int sc_fpc_csr;
2759+ unsigned int sc_fpc_eir;
2760+ unsigned int sc_used_math;
2761+ unsigned int sc_dsp;
2762+ unsigned long long sc_mdhi;
2763+ unsigned long long sc_mdlo;
2764+ unsigned long sc_hi1;
2765+ unsigned long sc_lo1;
2766+ unsigned long sc_hi2;
2767+ unsigned long sc_lo2;
2768+ unsigned long sc_hi3;
2769+ unsigned long sc_lo3;
2770 };
2771
2772-#endif /* _ASM_SIGCONTEXT_H */
2773-#else /* _MIPS_SIM != _ABIO32 */
2774-/*
2775- * This file is subject to the terms and conditions of the GNU General Public
2776- * License. See the file "COPYING" in the main directory of this archive
2777- * for more details.
2778- *
2779- * Copyright (C) 1996, 1997, 1999 by Ralf Baechle
2780- * Copyright (C) 1999 Silicon Graphics, Inc.
2781- */
2782-#ifndef _ASM_SIGCONTEXT_H
2783-#define _ASM_SIGCONTEXT_H
2784-
2785-/*
2786- * Keep this struct definition in sync with the sigcontext fragment
2787- * in arch/mips/tools/offset.c
2788- */
2789+#else
2790+
2791+/* This structure changed in 2.6.12-rc4 when DSP support was added. */
2792 struct sigcontext {
2793- unsigned long long sc_regs[32];
2794- unsigned long long sc_fpregs[32];
2795- unsigned long long sc_mdhi;
2796- unsigned long long sc_mdlo;
2797- unsigned long long sc_pc;
2798- unsigned int sc_status;
2799- unsigned int sc_fpc_csr;
2800- unsigned int sc_fpc_eir;
2801- unsigned int sc_used_math;
2802- unsigned int sc_cause;
2803- unsigned int sc_badvaddr;
2804+ unsigned long long sc_regs[32];
2805+ unsigned long long sc_fpregs[32];
2806+ unsigned long long sc_mdhi;
2807+ unsigned long long sc_hi1;
2808+ unsigned long long sc_hi2;
2809+ unsigned long long sc_hi3;
2810+ unsigned long long sc_mdlo;
2811+ unsigned long long sc_lo1;
2812+ unsigned long long sc_lo2;
2813+ unsigned long long sc_lo3;
2814+ unsigned long long sc_pc;
2815+ unsigned int sc_fpc_csr;
2816+ unsigned int sc_used_math;
2817+ unsigned int sc_dsp;
2818+ unsigned int sc_reserved;
2819 };
2820
2821-#endif /* _ASM_SIGCONTEXT_H */
2822 #endif /* _MIPS_SIM != _ABIO32 */
2823 #endif
2824diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h
2825--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h 2004-11-23 20:37:34.000000000 -0800
2826+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h 2006-07-22 19:30:57.000000000 -0700
2827@@ -61,16 +61,27 @@
2828 long int st_pad2[3];
2829 __off64_t st_size; /* Size of file, in bytes. */
2830 #endif
2831- /*
2832- * Actually this should be timestruc_t st_atime, st_mtime and
2833- * st_ctime but we don't have it under Linux.
2834- */
2835+#ifdef __USE_MISC
2836+ /* Nanosecond resolution timestamps are stored in a format
2837+ equivalent to 'struct timespec'. This is the type used
2838+ whenever possible but the Unix namespace rules do not allow the
2839+ identifier 'timespec' to appear in the <sys/stat.h> header.
2840+ Therefore we have to handle the use of this header in strictly
2841+ standard-compliant sources special. */
2842+ struct timespec st_atim; /* Time of last access. */
2843+ struct timespec st_mtim; /* Time of last modification. */
2844+ struct timespec st_ctim; /* Time of last status change. */
2845+# define st_atime st_atim.tv_sec /* Backward compatibility. */
2846+# define st_mtime st_mtim.tv_sec
2847+# define st_ctime st_ctim.tv_sec
2848+#else
2849 __time_t st_atime; /* Time of last access. */
2850 long int __reserved0;
2851 __time_t st_mtime; /* Time of last modification. */
2852 long int __reserved1;
2853 __time_t st_ctime; /* Time of last status change. */
2854 long int __reserved2;
2855+#endif
2856 __blksize_t st_blksize; /* Optimal block size for I/O. */
2857 #ifndef __USE_FILE_OFFSET64
2858 __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */
2859@@ -94,16 +105,24 @@
2860 unsigned long int st_rdev; /* Device number, if device. */
2861 long int st_pad2[3];
2862 __off64_t st_size; /* Size of file, in bytes. */
2863- /*
2864- * Actually this should be timestruc_t st_atime, st_mtime and
2865- * st_ctime but we don't have it under Linux.
2866- */
2867+#ifdef __USE_MISC
2868+ /* Nanosecond resolution timestamps are stored in a format
2869+ equivalent to 'struct timespec'. This is the type used
2870+ whenever possible but the Unix namespace rules do not allow the
2871+ identifier 'timespec' to appear in the <sys/stat.h> header.
2872+ Therefore we have to handle the use of this header in strictly
2873+ standard-compliant sources special. */
2874+ struct timespec st_atim; /* Time of last access. */
2875+ struct timespec st_mtim; /* Time of last modification. */
2876+ struct timespec st_ctim; /* Time of last status change. */
2877+#else
2878 __time_t st_atime; /* Time of last access. */
2879 long int __reserved0;
2880 __time_t st_mtime; /* Time of last modification. */
2881 long int __reserved1;
2882 __time_t st_ctime; /* Time of last status change. */
2883 long int __reserved2;
2884+#endif
2885 __blksize_t st_blksize; /* Optimal block size for I/O. */
2886 long int st_pad3;
2887 __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
2888@@ -133,12 +152,27 @@
2889 unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */
2890 __off64_t st_size;
2891 #endif
2892+#ifdef __USE_MISC
2893+ /* Nanosecond resolution timestamps are stored in a format
2894+ equivalent to 'struct timespec'. This is the type used
2895+ whenever possible but the Unix namespace rules do not allow the
2896+ identifier 'timespec' to appear in the <sys/stat.h> header.
2897+ Therefore we have to handle the use of this header in strictly
2898+ standard-compliant sources special. */
2899+ struct timespec st_atim; /* Time of last access. */
2900+ struct timespec st_mtim; /* Time of last modification. */
2901+ struct timespec st_ctim; /* Time of last status change. */
2902+# define st_atime st_atim.tv_sec /* Backward compatibility. */
2903+# define st_mtime st_mtim.tv_sec
2904+# define st_ctime st_ctim.tv_sec
2905+#else
2906 __time_t st_atime;
2907 int __reserved0;
2908 __time_t st_mtime;
2909 int __reserved1;
2910 __time_t st_ctime;
2911 int __reserved2;
2912+#endif
2913 __blksize_t st_blksize;
2914 unsigned int st_pad4;
2915 #ifndef __USE_FILE_OFFSET64
2916@@ -162,12 +196,24 @@
2917 __dev_t st_rdev;
2918 unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */
2919 __off64_t st_size;
2920+#ifdef __USE_MISC
2921+ /* Nanosecond resolution timestamps are stored in a format
2922+ equivalent to 'struct timespec'. This is the type used
2923+ whenever possible but the Unix namespace rules do not allow the
2924+ identifier 'timespec' to appear in the <sys/stat.h> header.
2925+ Therefore we have to handle the use of this header in strictly
2926+ standard-compliant sources special. */
2927+ struct timespec st_atim; /* Time of last access. */
2928+ struct timespec st_mtim; /* Time of last modification. */
2929+ struct timespec st_ctim; /* Time of last status change. */
2930+#else
2931 __time_t st_atime;
2932 int __reserved0;
2933 __time_t st_mtime;
2934 int __reserved1;
2935 __time_t st_ctime;
2936 int __reserved2;
2937+#endif
2938 __blksize_t st_blksize;
2939 unsigned int st_pad3;
2940 __blkcnt64_t st_blocks;
2941diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/kernel_stat.h glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/kernel_stat.h
2942--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/kernel_stat.h 2004-11-23 20:37:35.000000000 -0800
2943+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/kernel_stat.h 2006-07-22 19:34:46.000000000 -0700
2944@@ -16,12 +16,12 @@
2945 unsigned int st_rdev;
2946 unsigned int __pad2[3];
2947 long long st_size;
2948- unsigned int st_atime;
2949- unsigned int __unused1;
2950- unsigned int st_mtime;
2951- unsigned int __unused2;
2952- unsigned int st_ctime;
2953- unsigned int __unused3;
2954+ unsigned int st_atime_sec;
2955+ unsigned int st_atime_nsec;
2956+ unsigned int st_mtime_sec;
2957+ unsigned int st_mtime_nsec;
2958+ unsigned int st_ctime_sec;
2959+ unsigned int st_ctime_nsec;
2960 unsigned int st_blksize;
2961 unsigned int __pad3;
2962 unsigned long long st_blocks;
2963@@ -40,12 +40,12 @@
2964 long int __pad2[2];
2965 long int st_size;
2966 long int __pad3;
2967- long int st_atime;
2968- long int __unused1;
2969- long int st_mtime;
2970- long int __unused2;
2971- long int st_ctime;
2972- long int __unused3;
2973+ unsigned int st_atime_sec;
2974+ unsigned int st_atime_nsec;
2975+ unsigned int st_mtime_sec;
2976+ unsigned int st_mtime_nsec;
2977+ unsigned int st_ctime_sec;
2978+ unsigned int st_ctime_nsec;
2979 long int st_blksize;
2980 long int st_blocks;
2981 char st_fstype[16]; /* Filesystem type name, unsupported */
2982diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/nptl/fork.c glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/nptl/fork.c
2983--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/nptl/fork.c 2005-03-28 01:21:52.000000000 -0800
2984+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/nptl/fork.c 2006-07-22 19:24:57.000000000 -0700
2985@@ -1 +1 @@
2986-#include "../i386/fork.c"
2987+#include <sysdeps/unix/sysv/linux/i386/fork.c>
2988diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/register-dump.h glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/register-dump.h
2989--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/register-dump.h 2002-07-12 16:25:56.000000000 -0700
2990+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/register-dump.h 2006-07-22 19:33:52.000000000 -0700
2991@@ -1,5 +1,5 @@
2992 /* Dump registers.
2993- Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
2994+ Copyright (C) 2000, 2001, 2002, 2006 Free Software Foundation, Inc.
2995 This file is part of the GNU C Library.
2996 Contributed by Andreas Jaeger <aj@suse.de>, 2000.
2997
2998@@ -27,8 +27,8 @@
2999 R8 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
3000 R16 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
3001 R24 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
3002- pc cause status badvaddr lo hi
3003- XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
3004+ pc lo hi
3005+ XXXXXXXX XXXXXXXX XXXXXXXX
3006 The FPU registers will not be printed.
3007 */
3008
3009@@ -61,11 +61,8 @@
3010 for (i = 0; i < 32; i++)
3011 hexvalue (ctx->sc_regs[i], regs[i], 8);
3012 hexvalue (ctx->sc_pc, regs[32], 8);
3013- hexvalue (ctx->sc_cause, regs[33], 8);
3014- hexvalue (ctx->sc_status, regs[34], 8);
3015- hexvalue (ctx->sc_badvaddr, regs[35], 8);
3016- hexvalue (ctx->sc_mdhi, regs[36], 8);
3017- hexvalue (ctx->sc_mdlo, regs[37], 8);
3018+ hexvalue (ctx->sc_mdhi, regs[33], 8);
3019+ hexvalue (ctx->sc_mdlo, regs[34], 8);
3020
3021 /* Generate the output. */
3022 ADD_STRING ("Register dump:\n\n R0 ");
3023@@ -92,8 +89,8 @@
3024 ADD_MEM (regs[i], 8);
3025 ADD_STRING (" ");
3026 }
3027- ADD_STRING ("\n pc cause status badvaddr lo hi\n ");
3028- for (i = 32; i < 38; i++)
3029+ ADD_STRING ("\n pc lo hi\n ");
3030+ for (i = 32; i < 35; i++)
3031 {
3032 ADD_MEM (regs[i], 8);
3033 ADD_STRING (" ");
3034diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/sigaction.c glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/sigaction.c
3035--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/sigaction.c 2006-01-08 00:21:17.000000000 -0800
3036+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/sigaction.c 2006-07-22 19:36:49.000000000 -0700
3037@@ -153,6 +153,10 @@
3038 }
3039 libc_hidden_def (__libc_sigaction)
3040
3041+#ifdef WRAPPER_INCLUDE
3042+# include WRAPPER_INCLUDE
3043+#endif
3044+
3045 #ifndef LIBC_SIGACTION
3046 weak_alias (__libc_sigaction, __sigaction)
3047 libc_hidden_weak (__sigaction)
3048diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/sys/ucontext.h glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
3049--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/sys/ucontext.h 2004-11-23 20:36:11.000000000 -0800
3050+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/sys/ucontext.h 2006-07-22 19:33:52.000000000 -0700
3051@@ -1,5 +1,5 @@
3052-/* Copyright (C) 1997, 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
3053- This file is part of the GNU C Library.
3054+/* Copyright (C) 1997, 1998, 2000, 2003, 2004, 2006 Free Software
3055+ Foundation, Inc. This file is part of the GNU C Library.
3056
3057 The GNU C Library is free software; you can redistribute it and/or
3058 modify it under the terms of the GNU Lesser General Public
3059@@ -73,11 +73,15 @@
3060 unsigned int fpc_csr;
3061 unsigned int fpc_eir;
3062 unsigned int used_math;
3063- unsigned int ssflags;
3064+ unsigned int dsp;
3065 greg_t mdhi;
3066 greg_t mdlo;
3067- unsigned int cause;
3068- unsigned int badvaddr;
3069+ unsigned long hi1;
3070+ unsigned long lo1;
3071+ unsigned long hi2;
3072+ unsigned long lo2;
3073+ unsigned long hi3;
3074+ unsigned long lo3;
3075 } mcontext_t;
3076 #else
3077 typedef struct
3078@@ -85,14 +89,18 @@
3079 gregset_t gregs;
3080 fpregset_t fpregs;
3081 greg_t mdhi;
3082+ greg_t hi1;
3083+ greg_t hi2;
3084+ greg_t hi3;
3085 greg_t mdlo;
3086+ greg_t lo1;
3087+ greg_t lo2;
3088+ greg_t lo3;
3089 greg_t pc;
3090- unsigned int status;
3091 unsigned int fpc_csr;
3092- unsigned int fpc_eir;
3093 unsigned int used_math;
3094- unsigned int cause;
3095- unsigned int badvaddr;
3096+ unsigned int dsp;
3097+ unsigned int reserved;
3098 } mcontext_t;
3099 #endif
3100
3101diff -Naur glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/xstatconv.c glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/xstatconv.c
3102--- glibc-2.4.orig/ports/sysdeps/unix/sysv/linux/mips/xstatconv.c 2003-06-30 02:33:13.000000000 -0700
3103+++ glibc-2.4/ports/sysdeps/unix/sysv/linux/mips/xstatconv.c 2006-07-22 19:34:46.000000000 -0700
3104@@ -62,9 +62,12 @@
3105 buf->st_blksize = kbuf->st_blksize;
3106 buf->st_blocks = kbuf->st_blocks;
3107
3108- buf->st_atime = kbuf->st_atime; buf->__reserved0 = 0;
3109- buf->st_mtime = kbuf->st_mtime; buf->__reserved1 = 0;
3110- buf->st_ctime = kbuf->st_ctime; buf->__reserved2 = 0;
3111+ buf->st_atim.tv_sec = kbuf->st_atime_sec;
3112+ buf->st_atim.tv_nsec = kbuf->st_atime_nsec;
3113+ buf->st_mtim.tv_sec = kbuf->st_mtime_sec;
3114+ buf->st_mtim.tv_nsec = kbuf->st_mtime_nsec;
3115+ buf->st_ctim.tv_sec = kbuf->st_ctime_sec;
3116+ buf->st_ctim.tv_nsec = kbuf->st_ctime_nsec;
3117
3118 buf->st_pad5[0] = 0; buf->st_pad5[1] = 0;
3119 buf->st_pad5[2] = 0; buf->st_pad5[3] = 0;
3120@@ -107,9 +110,12 @@
3121 buf->st_blksize = kbuf->st_blksize;
3122 buf->st_blocks = kbuf->st_blocks;
3123
3124- buf->st_atime = kbuf->st_atime; buf->__reserved0 = 0;
3125- buf->st_mtime = kbuf->st_mtime; buf->__reserved1 = 0;
3126- buf->st_ctime = kbuf->st_ctime; buf->__reserved2 = 0;
3127+ buf->st_atim.tv_sec = kbuf->st_atime_sec;
3128+ buf->st_atim.tv_nsec = kbuf->st_atime_nsec;
3129+ buf->st_mtim.tv_sec = kbuf->st_mtime_sec;
3130+ buf->st_mtim.tv_nsec = kbuf->st_mtime_nsec;
3131+ buf->st_ctim.tv_sec = kbuf->st_ctime_sec;
3132+ buf->st_ctim.tv_nsec = kbuf->st_ctime_nsec;
3133
3134 buf->st_pad4[0] = 0; buf->st_pad4[1] = 0;
3135 buf->st_pad4[2] = 0; buf->st_pad4[3] = 0;
3136
Note: See TracBrowser for help on using the repository browser.